Odpowiedzi:
Składanie zostało wdrożone i jest teraz wdrażane od wersji Visual Studio Code 0.10.11 . Dostępne są następujące skróty klawiaturowe:
Fold składa się w najbardziej wewnętrzny niezłapany obszar pod kursorem:
Rozłóż rozwija zwinięty region pod kursorem:
Fold All składa wszystkie regiony w edytorze:
Unfold All rozwija wszystkie regiony w edytorze:
Odnośniki: https://code.visualstudio.com/docs/getstarted/keybindings
F1
i wpisz Fold lub Unfold
Począwszy od wersji Visual Studio Code 1.12.0, kwiecień 2017 r., Patrz Edycja podstawowa> sekcja Składanie w dokumentacji.
Domyślne klucze to:
Zwiń wszystko: CTRL+ K, CTRL+ 0(zero)
Poziom składania [n]: CTRL+ K, CTRL+ [n]*
Rozwiń wszystko: CTRL+ K, CTRL+J
Fold Region: CTRL+ K, CTRL+[
Rozwiń region: CTRL+ K, CTRL+]
* Poziom składania: aby spasować wszystkie klasy oprócz najbardziej zewnętrznych, spróbuj CTRL+ K, CTRL+1
Mac: użyj ⌘zamiast CTRL(dzięki Prajeet)
ctrl+k,ctrl+num
działa tylko na liczbach powyżej qwerty, a nie na numpad
W wersji 1.11 pojawiło się składanie kodów według regionów . Składanie dokumentacji według regionów . Oraz v1.19 i 1.23 .
[Ogólnie można dodać przestrzeń, na przykład // region and // endregion
do //region and //endregion
i będzie działać.]
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
Każdy język ma również fragmenty dostępne dla znaczników. Wpisz „#” i wywołaj uzupełnianie kodu, aby je zobaczyć. Aby skonfigurować znaczniki regionu dla Twojego języka, skontaktuj się z dostawcą rozszerzenia języka.
v1.23 dodaje regiony CSS / SCSS / Mniej regionów zwijania kodu:
CSS/SCSS/Less: /* #region */ and /* #endregion */ or /*#region*/ and /*#endregion*/
SCSS/Less: // #region and // #endregion
Dodano v1.35:
Go: // region, // endregion and // #region, // #endregion
v.1.36 dodaje shellscript, patrz [problem github: dodawanie znaczników składania shellscript]. 4 :
shellscript: # region and # endregion
v1.42 dodawanie Perl5 itp. (patrz https://github.com/microsoft/vscode-docs/commit/ec3e9d07724510eaf0c3b7200b09c9c22d3be7c3 ):
Perl5 #region and #endregion or =pod and =cut
Wersja 1.39 dodaje możliwość przełączania składania za pomocą polecenia editor.toggleFold
.
Jest domyślnie związany z Ctrl+ K Ctrl+ L. Zobacz https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_39.md#toggle-folding .
// region
i // endregion
nie działają z wersją VS Code 1.22 (jednak nie testowałem wersji poniżej lub powyżej). Ale // #region
i // #endregion
działa (zwróć uwagę na „#” i spację w obu). W ten sposób ESLint (jeśli używasz) nie wyświetli błędu, jeśli spaced-comment
reguła jest włączona (tzn. Nie jest ustawiona na „wyłączone” lub 0).
/* #region Foo Bar */
i/* #endregion */
//region
i //endregion
są dla JavaScript.
<!-- #region --> elements <!-- #endregion -->
. Wyświetla tekst następujący po #region w sekcji złożonej. Prawidłowo składa się z bieżącego # regionu do odpowiedniego # regionu, nawet jeśli są inne zagnieżdżone - podobnie jak nawiasy w dowolnym równaniu. Zapamiętuje ustawienie zagięcia dla zagnieżdżonych regionów. Ctrl + k + Ctrl + [i Ctrl + k + Ctrl +] zamknij / otwórz fałdy poprawnie przy kursorze. (co wydaje mi się trochę zacofane, ale whatevah) Świetne rzeczy!
Ta funkcja jest teraz dostępna w standardowej wersji. Aby wyświetlić kontrolki zwinięcia / rozwinięcia, musisz najechać myszką na obszar po prawej stronie numerów linii, jak pokazano na tym zrzucie ekranu:
Powinieneś dodać ustawienia użytkownika:
{
"editor.showFoldingControls": "always",
"editor.folding": true,
"editor.foldingStrategy": "indentation",
}
Domyślny skrót do zwinięcia / przedłużenia to:
Ctrl+ Shift+ [: „Fold”
Ctrl+ Shift+ Alt+ [: „Fold all”
Ctrl+ Shift+ ]: „Rozłóż”
Ctrl+ Shift+ Alt+ ]: „Rozwiń wszystko”
Lub przejdź do keybindings.json i zmieniaj, jak chcesz.
Na przykład:
{
"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"
Napisałeś [
zamiast ]
. Popraw mnie, jeśli się mylę.
Jeśli żaden skrót nie działa (jak dla mnie), w celu obejścia tego problemu możesz również otworzyć paletę poleceń ( Ctrl+ 3lub Widok -> Paleta poleceń ...) i wpisać fold all
:
Zwijanie jest teraz obsługiwane w wersji 1.0 :
Skróty do składania kodu źródłowego
Wprowadzono nowe czynności składania, które pozwalają zwinąć regiony kodu źródłowego na podstawie ich poziomu składania.
Istnieją akcje, aby spasować poziom 1 ( Ctrl+ K Ctrl+ 1) do poziomu 5 ( Ctrl+ K Ctrl+ 5). Aby rozwinąć, użyj opcji Rozwiń wszystko ( Ctrl+ Shift+ Alt+ ]).
Akcje składania poziomu nie dotyczą regionu zawierającego bieżący kursor.
Miałem problem ze znalezieniem ]
przycisku na klawiaturze (układ norweski), aw moim przypadku był to Å
przycisk. (Lub dwa przyciski w lewo i jeden w dół, zaczynając od przycisku Backspace.)
Z JavaScript:
//#region REGION_NAME
...code here
//#endregion
Od wersji 1.3.1 (2016-07-17) Block Collapse jest znacznie wygodniejszy.
Każda linia po linii wciętej będzie miała znak „-”, aby umożliwić zwinięcie. Jeśli blok jest zwinięty, zostanie zastąpiony znakiem „+”, który otworzy zwinięty blok.
( Ctrl+ Shift+ Alt+ ]) Nadal będzie wpływać na wszystkie bloki, zamykając jeden poziom. Każde powtórne użycie zamykało jeden poziom. ( Ctrl+ Shift+ Alt+ [) Działa w odwrotny sposób.
Brawo, zawalenie się bloku w końcu działa pożytecznie.
Nie ma tu żadnych wskazówek technicznych, wystarczy proste dostosowanie preferencji VsCode.
Udało mi się wyświetlić elementy sterujące składaniem kodu zawsze w VsCode, przechodząc do Preferencji i szukając „składania”. Teraz wybierz, aby zawsze wyświetlać te elementy sterujące. Działa to z kodem Typescript i HTML szablonów w rozwiązaniu Angular 8, z którym go testowałem.
Zostało to przetestowane z VsCode Insiders 1.37.0 działającym na systemie operacyjnym Windows 10.
Wersja 1.42 dodaje kilka udoskonaleń dotyczących wyglądu i działania fałd. Zobacz https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting :
Podświetlanie zakresu składanego
Zakresy złożone są teraz łatwiejsze do odkrycia dzięki kolorowi tła dla wszystkich zakresów złożonych.
Kolor podświetlenia krotnie Motyw: Ciemny +
Funkcją steruje edytor ustawień. Składanie Podświetlanie, a kolor można dostosować za pomocą edytora kolorów. Składanka.
"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }
Składane udoskonalenia
Shift + Click
na wskaźniku składania najpierw składa tylko wewnętrzne zakresy.Shift + Click
ponownie (gdy wszystkie wewnętrzne zakresy są już złożone) spowoduje również spasowanie rodzica.Shift + Click
ponownie rozwija się wszystko.
Gdy użyjesz polecenia Fold (kb (
editor.fold
))] na już złożonym zakresie, następny rozłożony zakres macierzysty zostanie złożony.
Na komputerze Mac jest to klawisz polecenia RHS ⌘K, a nie lewy klawisz dla poleceń składania kodu.
W przeciwnym razie klawisz Command lewa ręka będzie usunąć bieżącą linię ⌘K.
Ta funkcja jest teraz obsługiwana, ponieważ Visual Studio Code 1.17 . Aby złożyć / zwinąć blok kodu, po prostu dodaj tagi regionu, takie jak //#region my block name
i //#endregion
jeśli kodujesz w TypeScript / JavaScript.
Przykład:
Rozszerzenie VSCode: Fold Level , jeden klawisz fold do pożądanego poziomu.
Chciałbym, aby Visual Studio Code mógł obsługiwać:
#region Function Write-Log
Function Write-Log {
...
}
#endregion Function Write-Log
W tej chwili program Visual Studio Code po prostu go ignoruje i nie zwinie go. Tymczasem Notepad ++ i PowerGUI radzą sobie z tym dobrze.
Aktualizacja: Właśnie zauważyłem aktualizację programu Visual Studio Code. To jest teraz obsługiwane!
Uwaga: te skróty działają tylko zgodnie z oczekiwaniami, jeśli edytujesz keybindings.json
Nie byłem zadowolony z domyślnych skrótów, chciałem, aby działały w następujący sposób:
Aby skonfigurować:
Preferences: Open Keyboard Shortcuts (JSON)
( Ctrl+ ⇧ Shift+ p)Masz już niestandardowe skróty klawiszowe do składania / rozwijania? Następnie musisz je wymienić.
{
"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
była dla mnie bardziej sensowna.