Jak zwijać sekcje kodu w programie Visual Studio Code Dla Windows?

Jak złożyć lub zwinąć sekcje kodu w programie Visual Studio Code?

Czy ta funkcja jest obsługiwana?

Author: Peter Mortensen, 2015-05-06

19 answers

Folding został wdrożony od wersji Visual Studio Code 0.10.11. Dostępne są następujące skróty klawiaturowe:

  • Fold fałduje najbardziej wewnętrzny, nie upłynął obszar kursora:

    • Ctrl + Shift + [ w systemie Windows i Linux
    • + + [ na macOS
  • Rozwiń rozwiń zwinięty region na kursor:

    • Ctrl + Shift + ] w systemie Windows i Linux
    • + + ] na macOS
  • Fold All folds all regions in the editor:

    • Ctrl + (K => 0) (zero) Na Windows i Linux
    • + (K => 0) (zero) na macOS
  • Rozwiń wszystko Rozwiń wszystko regiony w edytorze:

    • Ctrl + (K => J ) na Windows i Linux
    • + (K => J ) na macOS

Linki: https://code.visualstudio.com/docs/getstarted/keybindings

 1564
Author: Brocco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-10-31 10:11:28

Od wersji Visual Studio Code 1.12.0, Kwiecień 2017, zobacz Podstawowa Edycja > składanie sekcja w dokumentach.

Domyślne klucze to:

Fold All: CTRL+K, CTRL+0 (zero)

Fold Level [n]: CTRL+K, CTRL+[n]*

Rozwiń wszystkie: CTRL+K, CTRL+J

Fold Region: CTRL+K, CTRL+[

Unfold Region: CTRL+K, CTRL+]

* Poziom Fold: aby złożyć wszystkie poza najbardziej zewnętrznymi klasami, spróbuj CTRL+K, CTRL+1

Macs: użyj zamiast CTRL (thanks Prajeet)

 249
Author: Michael Fulton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-20 09:12:55

Składanie kodu przez regions przybył z v1. 17. Folding by regions documentation . I v1.19 oraz 1.23.

[ogólnie można dodać spację, na przykład // region and // endregion do //region and //endregion i to również zadział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
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`

Ważne: Jeśli nie widzisz swojego języka na liście::

Każdy język ma również urywki dostępne dla znaczników. Wpisz ' # ' i wywołaj zakończenie kodu, aby je zobaczyć. Mieć region znaczniki skonfigurowane dla Twojego języka, skontaktuj się z dostawcą rozszerzeń językowych.

Więc wpisz # a następnie Ctrl+Spacja , aby zobaczyć znaczniki regionu dla dowolnego języka.


 114
Author: Mark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-04 02:59:47

Ta funkcja jest już dostępna w standardowej kompilacji. Aby wyświetlić kontrolki zwiń/rozwiń, musisz najechać myszką na obszar po prawej stronie numerów linii, jak pokazano na tym zrzucie ekranu:

Tutaj wpisz opis obrazka

 77
Author: BraveNewMath,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-15 18:23:13

Należy dodać ustawienia użytkownika:

{
    "editor.showFoldingControls": "always",
    "editor.folding": true,
    "editor.foldingStrategy": "indentation", 
}
 43
Author: Minh Tien Tran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-28 16:19:26

ctrl + k + 0 : Fold all levels (namespace , class , method , block)

ctrl + k + 1 : namspace

ctrl + k + 2 : klasa

ctrl + k + 3 : metody

ctrl + k + 4 : bloki

ctrl + k + [ lub ] : current cursor block

ctrl + k + j : UnFold

 27
Author: M Komaei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-03 11:30:37

Jeśli żaden ze skrótów nie działa (jak u mnie), jako obejście możesz również otworzyć paletę poleceń (Ctrl + 3 lub widok - > paleta poleceń...) i wpisz fold all:

Tutaj wpisz opis obrazka

 26
Author: Jorn Vernee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-08 11:38:34

Domyślnym skrótem do zwijania/rozszerzania są:

Ctrl + Shift + [ : "Fold"

Ctrl + Shift + Alt + [ : "Fold all"

Ctrl + Shift + ] : "Unfold"

Ctrl + Shift + Alt + ] : "Rozwiń wszystkie"

Lub przejdź do skrótów klawiszowych.json i zmień 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"
},
 26
Author: Samuel Pinto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-28 16:19:34

Zwijanie jest teraz obsługiwane w wydaniu 1.0:

Skróty Do Składania Kodu Źródłowego

Pojawiły się nowe akcje zwijania regionów kodu źródłowego na podstawie ich poziom składania.

Istnieją działania, aby złożyć poziom 1 (Ctrl+K Ctrl+1) do poziomu 5 (Ctrl+K Ctrl+5). Aby rozwinąć, użyj Rozwiń wszystkie (Ctrl+Shift+Alt+]).

Akcje składania poziomów nie mają zastosowania do regionu zawierającego bieżący kursor.

Miałem problem ze znalezieniem przycisku ] Na mojej klawiaturze (układ Norweski), a w moim przypadku był to przycisk Å. (Lub dwa przyciski w lewo i jeden w dół zaczynając od przycisku backspace.)

 13
Author: Stian Standahl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-15 18:17:48

Z JavaScript:

//#region REGION_NAME
   ...code here
//#endregion
 8
Author: Rafael Grilli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-28 16:19:00

Kontrolki zwijania kodu wewnątrz edytora, aby rozwinąć węzły dokumentów o strukturze XML i kodu źródłowego w VsCode

Brak tu porad technicznych, tylko proste dostosowanie preferencji VsCode.

Udało mi się pokazać kontrolki składania kodu zawsze w VsCode, przechodząc do preferencji i szukając 'folding'. Teraz po prostu wybierz, aby zawsze wyświetlać te elementy sterujące. Działa to z kodem maszynopisu i HTML szablonów w rozwiązaniu Angular 8, z którym go testowałem.

To zostało przetestowane z VSCode Insiders 1.37.0 działającym na systemie Windows 10 OS.

Wyświetlanie kontrolek zwijania kodu zawsze w VsCode

 5
Author: Tore Aurstad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-07-30 20:27:30

Od wersji 1.3.1 (2016-07-17), upadek bloku jest znacznie wygodniejszy.

Każda linia, po której następuje wcięta linia, 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.

The (Ctrl + Shift + Alt + ]) nadal wpłynie na wszystkie bloki, zamykając jeden poziom. Każde powtarzające się użycie zamknęło jeszcze jeden poziom. The (Ctrl + Shift + Alt + [) działa na odwrót.

Hurra, block collapse w końcu działa pożytecznie.

 4
Author: Miguelito,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-15 18:22:21

Ta funkcja jest teraz obsługiwana, od Visual Studio Code 1.17. Aby złożyć / zwinąć blok kodu, po prostu dodaj znaczniki regionu, takie jak //#region my block name i //#endregion, jeśli kodujesz w języku TypeScript/JavaScript.

Przykład:

Składanie Regionu

 4
Author: Murilo Perrone,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-26 10:27:56

V1. 42 dodaje kilka ładnych udoskonaleń do wyglądu i funkcji fałd. Zobacz też https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_42.md#folded-range-highlighting:

Składany Zakres Podświetlania

Składane zakresy są teraz łatwiejsze do odkrycia dzięki kolorowi tła dla wszystkich zakresów złożonych.

fold highlight

Fold highlight color Theme: Dark +

Funkcja jest kontrolowana przez edytor ustawień.foldingHighlight i kolor można dostosować za pomocą edytora kolorów.składany.

"workbench.colorCustomizations": { "editor.foldBackground": "#355000" }

Folding Refinements

Shift + Click na wskaźniku składania najpierw składa się tylko wewnętrzny zakresy. Shift + Click ponownie (gdy wszystkie wewnętrzne zakresy są już złożone) będzie również złożyć rodzica. Shift + Click ponownie rozwija wszystko.

fold shift click

Przy użyciu polecenia Fold (kb(editor.fold))] na już złożonym range, the następny rozłożony zakres rodzica zostanie złożony.

 4
Author: Mark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-02-03 18:23:15

Na Macu jest to Klawisz polecenia RHS, K , a nie lewa dla komend składających kod.

W Przeciwnym Razie klawisz polecenia lewej ręki usunie bieżący wiersz, K .

 2
Author: ReaddyEddy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-15 18:23:52

Rozszerzenie VSCode: Fold Level , Jeden Klucz do żądanego poziomu.

Tutaj wpisz opis obrazka

 2
Author: vikyd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-02-25 01:13:08

Szkoda, że Visual Studio Code nie poradzi sobie:

#region Function Write-Log
Function Write-Log {
    ...
}
#endregion Function Write-Log

W tej chwili Visual Studio Code po prostu go ignoruje i nie zwija. Tymczasem Notepad++ i PowerGUI radzą sobie z tym dobrze.

Update: właśnie zauważyłem aktualizację kodu Visual Studio. Jest to teraz wspierane!

 0
Author: Mr. Annoyed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-15 23:58:12

Uwaga: te skróty działają zgodnie z oczekiwaniami tylko wtedy, gdy edytujesz przypisania klawiszy.json

Nie byłem zadowolony z domyślnych skrótów, chciałem, aby działały w następujący sposób:

  • Fold: Ctrl + Alt + ]
  • Fold recursively: Ctrl + ⇧ Shift + Alt + ]
  • Fold all: Ctrl + k then Ctrl + ]
  • : Ctrl + Alt + [
  • rozwiń rekurencyjnie: Ctrl + ⇧ Shift + Alt + [
  • Rozwiń wszystkie: Ctrl + k then Ctrl + [

Aby go ustawić:

  • Otwórz Preferences: Open Keyboard Shortcuts (JSON) (Ctrl + ⇧ Shift + p )
  • Dodaj następujący fragment do tego pliku

    Masz już niestandardowe skróty klawiszy dla fold / unfold? Wtedy byś trzeba 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"
    },
 0
Author: JesusIniesta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-08 10:57:53

Lub, jeśli chcesz usunąć składane przyciski, aby uzyskać dodatkowe miejsce:

"editor.folding": false

(Dodaj do pliku settings.json)

 0
Author: lenooh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-23 12:38:11