2010-09-07 125 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

相關問題