Відповіді:
Розгортання було розгорнуто і зараз реалізоване з Visual Studio Code версії 0.10.11 . Доступні ці комбінації клавіш:
Складіть складку у курсорі найпотужнішої області, що не стикається:
Розгортає розгорнуту область за курсором:
Згорнути Усі складання всіх регіонів у редакторі:
Розгортати Усі розгортає всі регіони в редакторі:
Список літератури: https://code.visualstudio.com/docs/getstarted/keybindings
F1
і тип Fold або Відкриваються
Станом на версію Visual Studio Code версії 1.12.0, квітень 2017 року, див. Розділ Основне редагування> Розгортання в документах.
Клавішами за замовчуванням є:
Згорнути все: CTRL+ K, CTRL+ 0(нуль)
Рівень складки [n]: CTRL+ K, CTRL+ [n]*
Розгорнути всі: CTRL+ K, CTRL+J
Регіон складок: CTRL+ K, CTRL+[
Розгорнутий регіон: CTRL+ K, CTRL+]
* Рівень складання: для складання всіх, крім самих зовнішніх класів, спробуйте CTRL+ K, CTRL+1
Маки: використовувати ⌘замість CTRL(спасибі Prajeet)
ctrl+k,ctrl+num
працює лише на числах вище qwerty, а не на
Складання коду за регіонами надійшло з 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 версії 1.22 (не перевіряли версії нижче та вище). Але // #region
і // #endregion
працює (відмітьте "#" та пробіл в обох). Таким чином, ESLint (якщо ви використовуєте) не відображатиметься помилок, якщо spaced-comment
правило увімкнено (тобто не встановлено значення "вимкнено" або 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), Блокувати згортання набагато зручніше.
Будь-який рядок, за яким слідує відступ, має символ "-", щоб дозволити згортання. Якщо блок згорнуто, його буде замінено символом '+', який відкриє згорнутий блок.
( 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 :
Підсвічування діапазону зі складним діапазоном
Складені діапазони тепер простіше виявити завдяки кольору фону для всіх складених діапазонів.
Тема кольору кольорів складного кольору: Темний +
Ця функція управляється редактором параметрів.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
більше сенсу для мене.