Dans Visual Studio, si un fichier de code est ouvert, je peux appuyer sur CTRL + M ou CTRL + M + O pour réduire tous les blocs de code, régions, espaces de noms, etc.
Comment faire le contraire et tout développer?
J'ai googlé cela, mais n'arrive pas à trouver un raccourci qui fonctionne!
Réduire aux définitions
CTRL + M, O
développez tous les contours
CTRL + M, X
Développer ou réduire tout
CTRL + M, L
Ceci fonctionne aussi avec d'autres langages comme TypeScript et JavaScript
Comme vous pouvez le constater, il existe plusieurs façons de réaliser cela.
J'utilise personnellement:
Développer tout: CTRL + M + L
Réduire tout: CTRL + M + O
Prime:
Développer/Réduire à l'emplacement du curseur: CTRL + M + M
Visual Studio 2015:
Tools > Options > Settings > Environment > Keyboard
Valeurs par défaut:
Editer.CollapsetoDefinitions: CTRL + M + O
Edit.CollapseCurrentRegion: CTRL + M +CTRL + S
Edit.ExpandAllOutlining: CTRL + M + CTRL + X
Edit.ExpandCurrentRegion: CTRL + M + CTRL + E
J'aime définir et utiliser les raccourcis d'IntelliJ:
Editer.CollapsetoDefinitions: CTRL + SHIFT + NUM-
Edit.CollapseCurrentRegion: CTRL + NUM-
Edit.ExpandAllOutlining: CTRL + SHIFT + NUM+
Edit.ExpandCurrentRegion: CTRL + NUM+
Vous pouvez utiliser Ctrl + M et Ctrl + P
C'est ce qu'on appelle Edit.StopOutlining
Pour effondrement, vous pouvez essayer CTRL + M + O et étendre en utilisant CTRL + M + P. Cela fonctionne dans VS2008.
Allez dans Outils-> Options-> Editeur de texte-> c # -> Avancé et décochez la première case pour entrer en mode de structure lorsque les fichiers sont ouverts.
Cela résoudra ce problème pour toujours
J'ai toujours souhaité que Visual Studio inclue une option permettant simplement de réduire/développer les régions. J'ai les macros suivantes qui feront exactement cela.
Imports EnvDTE
Imports System.Diagnostics
' Macros for improving keyboard support for "#region ... #endregion"
Public Module CollapseExpandRegions
' Expands all regions in the current document
Sub ExpandAllRegions()
Dim objSelection As TextSelection ' Our selection object
DTE.SuppressUI = True ' Disable UI while we do this
objSelection = DTE.ActiveDocument.Selection() ' Hook up to the ActiveDocument's selection
objSelection.StartOfDocument() ' Shoot to the start of the document
' Loop through the document finding all instances of #region. This action has the side benefit
' of actually zooming us to the text in question when it is found and ALSO expanding it since it
' is an outline.
Do While objSelection.FindText("#region", vsFindOptions.vsFindOptionsMatchInHiddenText)
' This next command would be what we would normally do *IF* the find operation didn't do it for us.
'DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
Loop
objSelection.StartOfDocument() ' Shoot us back to the start of the document
DTE.SuppressUI = False ' Reenable the UI
objSelection = Nothing ' Release our object
End Sub
' Collapses all regions in the current document
Sub CollapseAllRegions()
Dim objSelection As TextSelection ' Our selection object
ExpandAllRegions() ' Force the expansion of all regions
DTE.SuppressUI = True ' Disable UI while we do this
objSelection = DTE.ActiveDocument.Selection() ' Hook up to the ActiveDocument's selection
objSelection.EndOfDocument() ' Shoot to the end of the document
' Find the first occurence of #region from the end of the document to the start of the document. Note:
' Note: Once a #region is "collapsed" .FindText only sees it's "textual descriptor" unless
' vsFindOptions.vsFindOptionsMatchInHiddenText is specified. So when a #region "My Class" is collapsed,
' .FindText would subsequently see the text 'My Class' instead of '#region "My Class"' for the subsequent
' passes and skip any regions already collapsed.
Do While (objSelection.FindText("#region", vsFindOptions.vsFindOptionsBackwards))
DTE.ExecuteCommand("Edit.ToggleOutliningExpansion") ' Collapse this #region
'objSelection.EndOfDocument() ' Shoot back to the end of the document for
' another pass.
Loop
objSelection.StartOfDocument() ' All done, head back to the start of the doc
DTE.SuppressUI = False ' Reenable the UI
objSelection = Nothing ' Release our object
End Sub
End Module
EDIT: Il existe maintenant un raccourci appelé Edit.ToggleOutliningExpansion (Ctrl + M, Ctrl + M) pour cela.