Jak wciąć / sformatować wybór kodu w Visual Studio Code za pomocą Ctrl + Shift + F.


110

Chcę utworzyć wcięcie określonej sekcji kodu w programie Visual Studio Code.

Przeczytałem Jak formatujesz kod w Visual Studio Code? to daje skróty do wcięcia całego kodu, ale nie działa przy wybieraniu określonej sekcji kodu.

Próbowałem Ctrl+ Shift+ Fpo wybraniu jakiejś linii w moim kodzie, ale cały plik jest wcięty. Pracuję w systemie Windows z Visual Studio Code Insider 1.8.0. Jak mogę to zrobić?

Odpowiedzi:


178

Chcę wciąć określoną sekcję kodu w Visual Studio Code:

  • Wybierz wiersze, które chcesz wciąć, i
  • użyj Ctrl+, ]aby je wciąć.

Jeśli chcesz sformatować sekcję (zamiast wciskać ją):

  • Wybierz linie, które chcesz sformatować,
  • użyj Ctrl+ K, Ctrl+, Faby je sformatować.

7
Shift + Alt + F może być również używany do formatowania (platforma Windows)
SridharKritha

2
A co z OSX?
GreenAsJade,

3
@GreenAsJade Na MacOS, Cmd+ ](wcięcie) i Cmd+ [(cofnięcie) działa dla mnie.
Alex Johnson,

2
@AlexJohnson przepraszam, pytałem co z wybranymi liniami w formacie OSX .
GreenAsJade,

1
@GreenAsJade na MacOS, format wybranych linii to Cmd+ K Cmd+ F
Bogatyr.

123
  • możesz także wciąć całą sekcję, zaznaczając ją i klikając TAB
  • a także wcięcie wstecz za pomocą Shift+TAB

Oczywiście w przypadku automatycznego wcięcia i formatowania, zgodnie z językiem, którego używasz, możesz zobaczyć, które dobre rozszerzenia wykonują dobrą robotę i które elementy formatujące mają zostać zainstalowane lub które ustawienia parametrów włączyć lub ustawić dla każdego języka i dostępnych narzędzi. Po prostu przeczytaj dobrze dokumentację rozszerzenia, aby zainstalować i ustawić wszystko, czego potrzebuje.

Do tej pory problem z wcięciami przeszkadzał mi w Pythonie podczas kopiowania wklejania bloku kodu. W takim przypadku oto sposób rozwiązania tego problemu: wcięcie Visual Studio Code dla języka Python


4
to nie działa w VS Code dla mnie, naciśnięcie klawisza Tab podczas zaznaczania tekstu po prostu dodaje kartę, w której znajduje się mój kursor
Abe Fehr

1
Myślę, że wybrałeś tylko część tekstu w jednym wierszu. Aby to zadziałało, masz też przypadki: wybrałeś multilinie iw takim przypadku nie ma znaczenia, ile wybrałeś, zadziała. Innym przypadkiem jest wybranie całej linii, w której też będzie działać. Jeśli wybierzesz tylko część z jednej linii, zachowanie jest takie, że w miejsce zaznaczonego tekstu zostanie wstawiona tabulacja. Przetestowałem to zarówno w systemie Windows, jak i Linux. Potwierdź, czy u Ciebie jest tak samo, czy też jest coś nie tak z konfiguracją.
Mohamed Allal

9

W systemie OS X wybierz „Format dokumentu” i zaznacz wszystkie linie, których potrzebujesz.

Następnie Option+ Shift+ F.


To jest poprawna odpowiedź. Nie rozumiem, dlaczego ponad 50 głosów za coś nie odpowiada na pytanie. Prawdopodobnie boty ????
Wildhammer

3
Wydaje się, że dotyczy to całego pliku, a nie zaznaczenia :(
GreenAsJade

Działa poprawnie. Mam macbooka air 2019, klawiatura różni się od mojej starej (kiedyś CMD + [lub]). Szukałem tego skrótu do nowej klawiatury. I to jest dokładnie to, czego szukałem. Działa również w przypadku zaznaczenia. Thks.
LuizEduardoMPF,

3

(Działa co najmniej do wersji 1.45.0, 7 maja 2020 r.)


W systemie macOS Visual Studio Code w wersji 1.36.1 (2019)

Visual Studio Code w wersji 1.36.1 (2019)

Aby automatycznie sformatować zaznaczenie, użyj ⌘K ⌘F (sztuczka polega na tym, że należy to zrobić po kolei, najpierw ⌘K, a następnie ⌘F).

Automatycznie formatuj zaznaczenie lub dokument

Aby dodać wcięcie (przesuń w prawo) bez automatycznego formatowania, użyj ⌘]

Opcje wcięć

Jak w skrótach klawiaturowych (⌘K ⌘S lub z menu, jak pokazano poniżej)

Skróty klawiszowe


1
Dzięki za "sztuczkę". Traciłem rozum, ponieważ skrót alt/option + fdziałał !!! I nagle został zastąpiony znakiem „̰”. Tak denerwujące!
Glenn

Cieszę się, że ci pomogło, Glenn.
pomyślny 99

3

To powinno być w stanie ustawić dowolne skróty klawiszowe, które chcesz dla wcięcia / przestarzałości:

Plik menu → PreferencjeSkróty klawiaturowe

editor.action.indentLines

editor.action.outdentLines


Dziękuję Ci! Szukałem skrótów klawiaturowych dedent(których używamy w naszej bazie kodu), ale tak jest outdent. Dziękuję Ci.
sming

1

F1 → otwórz Skróty klawiaturowe → wyszukaj „Wcięcie linii” i zmień przypisanie klawisza na Tab.

Kliknij prawym przyciskiem myszy> „Zmień wyrażenie, gdy” na editorHasSelection && editorTextFocus && !editorReadonly

Pozwoli ci to na wcięcie linii, gdy coś w tej linii jest zaznaczone (wiele linii nadal działa).


„F1”? Masz na myśli menu PlikPreferencje ?
Peter Mortensen

Miałem na myśli otwarcie palety poleceń. Zapomniałem jego nazwy i właśnie przypomniałem sobie domyślny skrót, przepraszam!
nevrast

0

Dla mnie to było na oknach Ctrl+¡, tiret linia . Dodaje zakładkę na początku każdej linii.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.