В версии 1.17.0 Visual Studio Code появилась поддержка регионов.
То есть теперь вы можете управлять возможностью свертывания части кода явным образом, а не только на основе отступов, что до этого времени было единственным вариантом.
Как это работает.
Вы помечаете начало региона маркером #region, а его конец, соответственно, маркером #endregion. Например, так:
#region some_code #endregion
В свернутом виде это будет выглядеть следующим образом:
#region...
После маркера #region вы можете указать некий произвольный текст:
#region DO NOT UNFOLD some_code #endregion
который также будет виден в свернутом виде:
#region DO NOT UNFOLD...
Нужно сказать, что #region и #endregion — это метки, используемые для PowerShell и C#. С полным списком поддерживаемых языков вы можете ознакомиться здесь: https://code.visualstudio.com/updates/v1_17#_folding-regions.
Вместо того, чтобы набирать маркеры вручную, вы можете использовать сниппеты. Наберите в редакторе символ # и нажмите Ctrl+Space. Вам предложат выбрать один из вариантов: #region или #endregion.
Во всем остальном регионы ведут себя так же, как и рассмотренный нами ранее так называемый language-unaware folding. Это также означает, что они поддерживают все упомянутые в вышеприведенной статье сочетания клавиш:
Ctrl+Shift+[ — Fold
Ctrl+Shift+[ — Unfold
Ctrl+K Ctrl+0 — Fold All
Ctrl+K Ctrl+J — Unfold All
Ctrl+K Ctrl+[ — Fold Recursively
Ctrl+K Ctrl+] — Unfold Recursively
Ctrl+K Ctrl+1..9 — Fold Level 1..9
Кроме того, регионы и свертывание на основе отступов вполне себе прекрасно уживаются и могут использоваться вместе:
#region Get-Process #endregion if ($a -eq $true) { Get-Service } foreach ($i in $all) { Write-Output -InputObject $i }
В свернутом виде уэто будет выглядеть так:
#region... if ($a -eq $true) {... } foreach ($i in $all) {... }
Если по какой-то причине вам потребуется отключить свертывание, вы можете это сделать, установив в настройках (File -> Preferences -> Settings) значение параметра «editor.folding» в «false».
Страницы в социальных сетях:
Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell