2010-09-07 123 views
1

我的一个同事使用 可憎的 文本编辑器,通常会在整个代码中留下注释块。不用说,这让我非常生气。注释块看起来是这样:如何自动折叠Visual Studio 2010中的某些注释?

/* EasyCODE) */ 
/* EasyCODE (0 
WndProc */ 
/* EasyCODE F */ 

即他们都开始EasyCODE,其中大部分的跨越几行。谢天谢地,VS2010可以崩溃评论块,所以我不需要必须一直看到它们。

有没有办法让它自动化?自动崩溃所有这些可怕的EasyCODE块的方法将是godsent!

+2

有没有一种方法可以让你的同事每次使用这种可憎的东西时自动化一些东西? :) – hydrogen 2010-09-07 06:49:57

+2

如果它混淆了每个人的代码中不可读和无用的评论,或许更好的解决方案是说服你的同事停用这个功能,或者改变他的编辑器。 – ereOn 2010-09-07 07:17:35

+0

@ereOn:不幸的是,那位编辑严重依赖这些评论。它用很奇怪的,机器可读的评论来替代很好的,人类可读的代码。 – bastibe 2010-09-07 11:12:24

回答

2

这是一个应该这样做的宏。有一些很奇怪的EasyCode评论,它没有捕获,但它主要是伎俩。

Imports System 
Imports EnvDTE 
Imports EnvDTE80 
Imports EnvDTE90 
Imports EnvDTE90a ' remove for VS2008 
Imports EnvDTE100 ' remove for VS2008 
Imports System.Diagnostics 
Imports System.Collections.Generic 

Public Module HideEasyCODEComments 
    '' 
    '' Collapse all EasyCODE comment blocks 
    '' 
    Sub ToggleSummaryCommentsOutlineExpansion() 
     If (DTE.ActiveDocument Is Nothing) Then 
      Exit Sub 
     End If 

     If (DTE.UndoContext.IsOpen) Then 
      DTE.UndoContext.Close() 
     End If 

     DTE.SuppressUI = True 

     Try 
      DTE.UndoContext.Open("ToggleSummaryCommentsOutline") 
     Catch 
     End Try 

     Dim objSelection As TextSelection = DTE.ActiveDocument.Selection 
     Dim line As Integer = objSelection.CurrentLine 
     objSelection.StartOfDocument() 

     ' find all EasyCODE blocks 
     While objSelection.FindText("^.*\/\* EasyCODE.*((\n.*\*\/)|(\n.*\/\*.*)|(\n\/\/.*))*", vsFindOptions.vsFindOptionsRegularExpression) 
      DTE.ExecuteCommand("Edit.HideSelection") 
     End While 
     objSelection.StartOfDocument() 
     objSelection.GotoLine(line) 

     DTE.UndoContext.Close() 
     DTE.SuppressUI = False 
    End Sub 

End Module 

创建宏IDE(工具 - > Macros->宏IDE)一个新的宏,粘贴上述代码进去,然后分配一个键盘快捷键它(工具 - >选项 - >环境 - >键盘,在列表框中搜索它)。点击键盘快捷键,所有的EasyCode评论将会消失。

玩得开心!

+0

用宏做什么?任何链接 – Chubsdad 2010-09-07 08:17:17

0

您不能自动执行此操作。但是,您可以选择一段代码,然后从上下文菜单中选择大纲/隐藏选区(Ctrl + M Ctrl + H)。所以选择丑陋的评论,并以这种方式进行。

摘自here

相关问题