HAVIT Knowledge Base

Vývoj webových aplikací, .NET, SQL, návrh
Welcome to HAVIT Knowledge Base Sign in | Join | Help
-
Home Články Forums Obrázky Soubory

Vývojářské nástroje

Visual Studio, WDE, utility, tools

Makra pro ExpandAllRegions, CollapseAllRegions (#region)

Již delší dobu používám ve Visual Studiu dvě makra - ExpandAllRegions a CollapseAllRegions, ke kterým mám přidružené klávesové zkratky Ctrl+Alt+NumPlus a Ctrl+Alt+NumMinus. Makra jsou prostá, rozbalí všechny regiony v kódu, či zabalí všechny #regiony v kódu (což se od doby, kdy si VS2005+ pamatuje poslední sbalení/rozbalení u každého souboru, narozdíl od předchozích verzí, kde se vždy vše dalo otevírat sbalené, ukázalo jako neobyčejně potřebnná funkce).

Makra jsou prostá:

Sub ExpandAllRegions()
    DTE.ExecuteCommand("Edit.StopOutlining")
    DTE.ExecuteCommand("Edit.StartAutomaticOutlining")
End Sub

Sub CollapseAllRegions()
    ExpandAllRegions()
    Dim objSelection As TextSelection
    objSelection = DTE.ActiveDocument.Selection
    objSelection.StartOfDocument()
    While (objSelection.FindText("#region"))
        objSelection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn)
        DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
        objSelection.StartOfDocument()
    End While
    DTE.ActiveDocument.Selection.StartOfDocument()
End Sub

...a přiřazení klávesových zkratek je v Tools ~ Options ~ Environment ~ Keyboard ~ ...a dále dohledat název makra dle procedury, takže např. Macros.MyMacros.Havit.CollapseAllRegions, atd.

Published 14. prosince 2007 8:56 by Robert Haken
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Tomas said:

Je pravda, že jsem si to nenastavoval, ale pro tyto účely používám standardní zkratky Ctrl+m Ctrl+o - sbalení a Ctrl+m Ctrl+p - rozbalení všech regionů v aktuálním souboru.

srpna 4, 2008 12:06
 

Robert Haken said:

to Tomas: Rozdíl je tuším v tom, že výše uvedené makro CollapseAllRegions() sbalí jenom #regiony, zatímco ten standardní Collapse-All sbalí vše, včetně metod, atp.

srpna 4, 2008 12:40

What do you think?

(required) 
(optional)
(required) 
Enter the code you see below

Submit