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!
visual-studio-code
AndyPerlitch
źródło
źródło
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.
źródło
JS-CSS-HTML
wtyczki. W takim przypadku naciśnijF1
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)
źródło
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
Zmiana
indent_size
tutaj jest wymagana, ponieważ wydaje się, że zastąpi wszystko w.vscode
obszarze roboczym lub ustawieniach użytkownika.źródło
.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:
źródło
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.
źródło
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 :)
źródło
poniższe ustawienia rozwiązały mój problem
źródło
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.
źródło
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ślaroot=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.źródło
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.
źródło
Wtyczka VSCode Vetur; używane w aplikacjach VueJS unieważniało to ustawienie.
Ustawienie vetur.format.options.tabSize na preferowaną przeze mnie liczbę spacji sprawiło, że zadziałało.
źródło
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.
źródło
Wyłącz wszystkie wtyczki (następnie włączaj pojedynczo i weryfikuj)
źródło