Ответы:
Свертывание развернуто и теперь реализуется начиная с версии 0.10.11 кода Visual Studio . Доступны следующие сочетания клавиш:
Fold складывает внутреннюю незакрепленную область у курсора:
Развернуть Развернуть свернутую область в курсоре:
Fold All сворачивает все регионы в редакторе:
Развернуть все Развернуть все регионы в редакторе:
Ссылки: https://code.visualstudio.com/docs/getstarted/keybindings
F1
и тип Fold или Открываются
Начиная с кода Visual Studio версии 1.12.0, апрель 2017 г., см. Раздел « Базовое редактирование»> «Складывание » в документации.
Ключи по умолчанию:
Сложить все: CTRL+ K, CTRL+ 0(ноль)
Уровень сгиба [n]: CTRL+ K, CTRL+ [n]*
Развернуть все: CTRL+ K, CTRL+J
Сложите регион: CTRL+ K, CTRL+[
Развернуть регион: CTRL+ K, CTRL+]
* Fold Level: чтобы сложить все, кроме самых внешних классов, попробуйте CTRL+ K, CTRL+1
Mac: используйте ⌘вместо CTRL(спасибо Prajeet)
ctrl+k,ctrl+num
работает только на числа выше qwerty, а не на numpad
Свертывание кода по регионам поступило с v1.17. Складывание по регионам документации . И v1.19 и 1.23 .
[ Как правило , вы можете добавить пробел, например , // region and // endregion
к , //region and //endregion
и он будет работать.]
TypeScript/JavaScript: //#region and //#endregion or // #region and // #endregion
C#: #region and #endregion
C/C++: #pragma region and #pragma endregion
F#: //#region and //#endregion
PowerShell: #region and #endregion
Python: #region and #endregion
VB: #Region and #End Region
PHP: #region and #endregion
Bat: ::#region and ::#endregion or REM #region and REM #endregion
Markdown: <!-- #region --> and <!-- #endregion -->
Golang //region and //endregion or //#region and //#endregion
Java //#region and //#endregion
CSS/SCSS/Less: /* #region */ and /* #endregion */ or /*#region*/ and /*#endregion*/
SCSS/Less: // #region and // #endregion
Go: // region, // endregion and // #region, // #endregion
shellscript: # region and # endregion
Perl5 #region and #endregion or =pod and =cut`
Важно: если вы не видите свой язык в списке:
У каждого языка также есть фрагменты, доступные для маркеров. Введите «#» и вызовите завершение кода, чтобы увидеть их. Чтобы настроить региональные маркеры для вашего языка, обратитесь к поставщику языковых расширений.
Поэтому напечатайте #
и затем Ctrl+, Spaceчтобы увидеть маркеры региона для любого языка.
// region
и // endregion
не работают с VS Code 1.22 (хотя не тестировали версии ниже или выше). Но так // #region
и // #endregion
работает (обратите внимание на «#» и пробел в обоих). Таким образом, ESLint (если вы используете) не будет отображать ошибку, если spaced-comment
правило включено (т. Е. Не установлено на «off» или «0»).
/* #region Foo Bar */
и/* #endregion */
//region
и //endregion
для JavaScript.
<!-- #region --> elements <!-- #endregion -->
, Он отображает текст после #region в сложенном разделе. Он корректно складывается из текущего #region в соответствующий #endregion, даже если есть другие вложенные - как в скобках в любом уравнении. Он запоминает настройку сгиба для вложенных областей. Ctrl + k + Ctrl + [и Ctrl + k + Ctrl +] правильно закрывают / открывают сгибы на курсоре. (что кажется немного отсталым для меня, но whatevah) Отличный материал!
Эта функция теперь доступна в стандартной сборке. Чтобы отобразить элементы управления свертыванием / развертыванием, необходимо навести курсор мыши на область справа от номеров строк, как показано на этом снимке экрана:
Вы должны добавить пользовательские настройки:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
Сокращение / расширение по умолчанию:
Ctrl+ Shift+ [: «Сложить»
Ctrl+ Shift+ Alt+ [: «Сложить все»
Ctrl+ Shift+ ]: «Развернуть»
Ctrl+ Shift+ Alt+ ]: «Развернуть все»
Или перейдите в keybindings.json и измените, как хотите.
Например:
{
"key": "cmd+k cmd+m",
"command": "editor.foldAll",
"when": "editorFocus"
},
{
"key": "cmd+m cmd+k",
"command": "editor.unfoldAll",
"when": "editorFocus"
},
ctrl+shift+alt+[ "Unfold all"
Вы написали [
вместо ]
. Поправь меня, если я ошибаюсь.
Если ни один из ярлыков не работает (как у меня), в качестве обходного пути вы также можете открыть палитру команд ( Ctrl+ 3или Вид -> Палитра команд ...) и ввести fold all
:
Свертывание теперь поддерживается в версии 1.0 :
Ярлыки сворачивания исходного кода
Есть новые действия свертывания, чтобы свернуть области исходного кода на основе их уровня сворачивания.
Есть действия, чтобы сбросить уровень 1 ( Ctrl+ K Ctrl+ 1) до уровня 5 ( Ctrl+ K Ctrl+ 5). Чтобы развернуть, используйте Развернуть все ( Ctrl+ Shift+ Alt+ ]).
Действия сворачивания уровня не применяются к области, содержащей текущий курсор.
У меня была проблема с поиском ]
кнопки на моей клавиатуре (норвежская раскладка), и в моем случае это была Å
кнопка. (Или две кнопки влево и одна вниз, начиная с кнопки возврата.)
С помощью JavaScript:
//#region REGION_NAME
...code here
//#endregion
Начиная с версии 1.3.1 (2016-07-17), Block Collapse гораздо удобнее.
Любая строка, за которой следует строка с отступом, будет иметь символ «-», чтобы разрешить коллапс. Если блок свернут, он будет заменен символом «+», который откроет свернутый блок.
( Ctrl+ Shift+ Alt+ ]) Будет по-прежнему влиять на все блоки, закрывая один уровень. Каждое повторное использование закрывало еще один уровень. ( Ctrl+ Shift+ Alt+ [) Работает противоположным образом.
Ура, развал блока наконец работает с пользой.
Здесь нет технических советов, только простые настройки предпочтений VsCode.
Мне всегда удавалось показывать элементы управления свертыванием кода в VsCode, перейдя в «Настройки» и выполнив поиск «сворачивание». Теперь просто выберите, чтобы всегда показывать эти элементы управления. Это работает с кодом Typescript и HTML-шаблонами в решении Angular 8, с которым я его тестировал.
Это было протестировано на VsCode Insiders 1.37.0, работающем в ОС Windows 10.
v1.42 добавляет некоторые приятные уточнения к тому, как складки выглядят и функционируют. См. Https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting :
Выделенная подсветка
Сложенные диапазоны теперь легче обнаружить благодаря цвету фона для всех согнутых диапазонов.
Сложите выделение цветом Тема: Темный +
Эта функция контролируется настройкой editor.foldingHighlight, а цвет можно настроить с помощью редактора цветов.foldBackground.
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
Складные уточнения
Shift + Click
на индикаторе сворачивания сначала складываются только внутренние диапазоны.Shift + Click
снова (когда все внутренние диапазоны уже сложены) также свернет родительский элемент.Shift + Click
опять все разворачивается.
При использовании команды Fold (kb (
editor.fold
))] в уже сложенном диапазоне будет свернут следующий развернутый родительский диапазон.
На Mac это командная клавиша RHS, а ⌘Kне левая для команд свертывания кода.
В противном случае левая рука Command ключ будет удалить текущую строку ⌘K.
Эта функция теперь поддерживается, начиная с Visual Studio Code 1.17 . Чтобы свернуть / свернуть блок кода, просто добавьте теги регионов, такие как //#region my block name
и //#endregion
если кодирование в TypeScript / JavaScript.
Пример:
Расширение VSCode: Fold Level , одно нажатие клавиши до нужного уровня.
Я хотел бы, чтобы Visual Studio Code мог обрабатывать:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
Прямо сейчас Visual Studio Code просто игнорирует это и не свернет его. Между тем Notepad ++ и PowerGUI справляются с этим просто отлично.
Обновление: я только что заметил обновление для кода Visual Studio. Это сейчас поддерживается!
Примечание. Эти сочетания клавиш работают только так, как ожидается, если вы редактируете файл keybindings.json.
Я не был доволен ярлыками по умолчанию, я хотел, чтобы они работали следующим образом:
Чтобы настроить это:
Preferences: Open Keyboard Shortcuts (JSON)
( Ctrl+ ⇧ Shift+ p)Уже есть пользовательские сочетания клавиш для сворачивания / разворачивания? Тогда вам нужно заменить их.
{
"key": "ctrl+alt+]",
"command": "editor.fold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+alt+[",
"command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+]",
"command": "editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+alt+[",
"command": "editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+[",
"command": "editor.unfoldAll",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+]",
"command": "editor.foldAll",
"when": "editorTextFocus && foldingEnabled"
},
Fold Level
ответ Майкла Фултона имел для меня больше смысла.