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).
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.