Podczas korzystania z Format Code
polecenia w programie Visual Studio Code nie honoruje moich ustawień wcięcia ( "editor.tabSize": 2
). Zamiast tego używa rozmiaru zakładki 4. Jakieś pomysły, dlaczego tak się dzieje?
Dzięki!
Podczas korzystania z Format Code
polecenia w programie Visual Studio Code nie honoruje moich ustawień wcięcia ( "editor.tabSize": 2
). Zamiast tego używa rozmiaru zakładki 4. Jakieś pomysły, dlaczego tak się dzieje?
Dzięki!
Odpowiedzi:
Liczba spacji używanych do formatowania jest pobierana z innej lokalizacji. Używam wersji 1.0 i oto, co zrobiłem, aby to naprawić (zakładam, że używasz spacji zamiast tabulatorów):
U dołu edytora po prawej stronie kliknij „Spacje: #”:
Następnie u góry pojawi się menu. Wybierz „Wcięcie przy użyciu spacji”:
Na koniec możesz wybrać, o ile spacji mają być wcięte pliki.
Następnym razem, gdy formatujesz plik, powinieneś być w stanie uzyskać skonfigurowane odstępy.
JS-CSS-HTML
wtyczki. W takim przypadku naciśnij F1
i wybierz formater i ustaw tam swoje wcięcie. Wydaje się, że przesłania wszystkie opcje omówione powyżej.
Visual Studio Code domyślnie wykrywa bieżące wcięcie i używa tego - ignorując plik .editorconfig
Ustaw również „editor.detectIndentation” na false
(Pliki -> Preferencje -> Ustawienia)
Jeśli odpowiedź @ Maleki nie działa dla Ciebie, sprawdź i zobacz, czy masz .editorconfig
plik w folderze projektu.
Na przykład Angular CLI generuje jeden z nowym projektem, który wygląda tak
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false
Zmiana indent_size
tutaj jest wymagana, ponieważ wydaje się, że zastąpi wszystko w .vscode
obszarze roboczym lub ustawieniach użytkownika.
.editorconfig
plikiem w moim katalogu domowym. W jakiś sposób powoduje, że VSCode ignoruje wszelkie ustawienia specyficzne dla obszaru roboczego. Bardzo irytujące.
Jeśli używasz wtyczki (w moim przypadku Vetur, dla vue.js), mogą one ustawić własne ustawienia formatowania kart.
Otwórz ustawienia, wyszukaj „format” i przejrzyj odpowiednie ustawienia wtyczek, które mogą nadpisywać globalny format karty. To zadziałało dla mnie; po zaktualizowaniu ustawień karty Vetur, aby pasowały do moich preferencji (w moim przypadku 4-rozmiarowe karty), formatowanie dokumentów .vue zaczęło działać poprawnie:
SCSS Formatter
wtyczka używa na przykład własnych ustawień, więc musisz przejść do, Settings > Extensions > SCSS Formatter > Use Tabs
aby zmusić ją na przykład do używania zakładek.
Dla mnie ten problem był spowodowany użyciem prettier
wtyczki VSCode bez ładniejszego pliku konfiguracyjnego w obszarze roboczym.
Wyłączenie wtyczki rozwiązało problem. Prawdopodobnie można było to naprawić, opierając się na ładniejszej konfiguracji.
Najprawdopodobniej masz zainstalowane jakieś rozszerzenie formatujące, np. JS-CSS-HTML Formatter .
Jeśli tak jest, po prostu otwórz Command Palette, wpisz „Formatter” i wybierz Formatter Config
. Następnie edytuj wartość, "indent_size"
jak chcesz.
PS Nie zapomnij ponownie uruchomić Visual Studio Code po edycji :)
Jeśli przyszedłeś tu z Google, ponieważ zakładka nie ma wcięć, może to być również spowodowane tym, że opcja „Tab Moves Focus” jest włączona. Znajduje się w prawym dolnym rogu i jeśli masz wystarczająco duży monitor, możesz go przegapić, mimo że jest podświetlony.
Kliknij zielony obszar lub Ctrl + M, aby zatrzymać. Nie jestem pewien, czy można go całkowicie wyłączyć, ale znowu nie wiem, dlaczego edytor kodu miałby mieszać w czymś takim jak wcięcia.
Miałem podobny problem - bez względu na to, co zrobiłem, nie mogłem ustawić rozmiaru karty na 2, mimo że jest to w moich ustawieniach użytkownika - wynikało to z rozszerzenia EditorConfig . Szuka .editorconfig
pliku w twoim bieżącym katalogu roboczym, a jeśli go nie znajdzie (lub ten, który znajdzie, nie określa root=true
), będzie kontynuował przeglądanie katalogów nadrzędnych, dopóki go nie znajdzie.
Okazało się, że .editorconfig
w katalogu nadrzędnym katalogu, w którym umieściłem wszystkie moje nowe projekty kodu, określono tabSize równą 4. Usunięcie tego pliku rozwiązało mój problem.
Czasami mam ten sam problem. VSCode po prostu nagle straci rozum i całkowicie zignoruje wszelkie ustawienia wcięć, które mu powiem, mimo że wcinał ten sam plik przez cały dzień.
Mam editor.tabSize
ustawiony na 2 (jak również editor.formatOnSave
zestaw do true). Kiedy VSCode psuje plik, używam opcji u dołu edytora, aby zmienić typ i rozmiar wcięcia, mając nadzieję, że coś zadziała, ale VSCode nalega na użycie rozmiaru wcięcia 4.
Poprawka? Uruchom ponownie VSCode. Powinien powrócić ze statusem wcięcia pokazującym coś nie tak (w moim przypadku 4). W moim przypadku musiałem zmienić ustawienie, a następnie zapisać, aby faktycznie dokonać zmiany, ale to prawdopodobnie z powodu mojego editor.formatOnSave
ustawienia.
Nie wiem, dlaczego tak się dzieje, ale dla mnie zwykle dzieje się tak, gdy edytuję zagnieżdżony obiekt w pliku JS. Nagle zrobi bardzo dziwne wcięcie w obiekcie, mimo że pracowałem nad tym plikiem przez jakiś czas i wcinanie było w porządku.
Myślę, że vscode domyślnie używa autopep8 do formatowania .py
.
„PEP 8 - Style Guide for Python Code | Python.org”
Zgodnie z tą witryną, poniższe mogą wyjaśnić, dlaczego vscode zawsze używa 4 spacji.
Użyj 4 spacji na poziom wcięcia.