Jak mogę używać zakładek do wcięć w IntelliJ IDEA?


130

Jak mogę używać tabulatorów zamiast wielu spacji do wcięć w IntelliJ IDEA 11.0?

Mam zaznaczone pole „Użyj znaku tabulacji” w „Styl kodu”> „Ogólne”> „Domyślne opcje wcięć”. Próbowałem też zaznaczyć „Inteligentne karty”, ale to nie pomaga.

Z dokumentacji :

Jeśli to pole wyboru jest zaznaczone, używane są znaki tabulacji:

  • Po naciśnięciu klawisza Tab
  • Do wcięć
  • Do ponownego formatowania kodu

W przeciwnym razie zamiast tabulatorów używane są spacje.

Odpowiedzi:


62

IntelliJ IDEA 15

Tylko dla bieżącego pliku

Masz następujące możliwości:

  1. Ctrl+ Shift+ A> napisz „karty”> kliknij dwukrotnie „Do kart”

    Do zakładek

    Jeśli chcesz przekonwertować tabulatory na spacje, możesz wpisać „spacje”, a następnie wybrać „Na spacje”.

  2. Edycja> Konwertuj wcięcia> Na tabulatory

    Aby przekonwertować tabulatory na spacje, możesz wybrać opcję „Do przestrzeni” w tym samym miejscu.

Dla wszystkich plików

Ścieżki w innych odpowiedziach zostały nieco zmienione:

  • Plik> Ustawienia ...> Edytor > Styl kodu> Java> Tabulatory i wcięcia> Użyj znaku tabulacji Użyj znaku tabulacji
  • Plik> Inne ustawienia> Ustawienia domyślne ...> Edytor > Styl kodu> Java> Tabulatory i wcięcia> Użyj znaku tabulacji
  • Plik> Ustawienia ...> Edytor > Styl kodu> Wykryj i użyj wcięć istniejących plików do edycji
  • Plik> Inne ustawienia> Ustawienia domyślne ...> Edytor > Styl kodu> Wykryj i użyj wcięć istniejących plików do edycji

Wygląda na to, że nie ma znaczenia, czy zaznaczysz / odznaczysz pole w Ustawieniach ... lub w Inne ustawienia> Ustawienia domyślne ... , ponieważ zmiana z jednego okna będzie dostępna w drugim oknie.

Powyższe zmiany zostaną zastosowane do nowych plików , ale jeśli chcesz zmienić spacje na tabulatory w istniejącym pliku , powinieneś sformatować plik, naciskając Ctrl+ Alt+ L.


1
To właśnie nazywam wyjaśnieniem! Wielkie dzięki. Jestem przyzwyczajony do spacji i ustawiłem również inne rzeczy, ale przegapiłem ponowne formatowanie.
geisterfurz007

210

Plik > Ustawienia > Edytor > Styl kodu > Java > Tabulatory i wcięcia > Użyj znaku tabulacji

W razie potrzeby zastąp wybraną broń dla języka Java.


5
Zwróć uwagę, że jeśli to zmieniasz, a także zastępujesz wszystkie tabulatory / spacje w pliku, może być konieczne zamknięcie i ponowne otwarcie pliku, aby poprawić wykrywanie po wprowadzeniu zmian.
mlissner

3
Masz jakiś pomysł, dlaczego opcja „Użyj znaku tabulacji” nie jest domyślnie włączona?
Ivan Balashov

2
Znaki @IvanBalashov Tab mogą powodować pewne problemy z formatowaniem podczas wyświetlania w innych edytorach tekstu. Ponadto niektóre języki, takie jak Python, mogą się zepsuć, gdy używasz tabulatorów zamiast spacji.
Cache Staheli

11
i co mam zrobić, gdy chcę mieć zakładki jako wcięcie DLA WSZYSTKICH JĘZYKÓW? czy naprawdę powinienem przejrzeć 500 różnych języków i zastosować je indywidualnie?
phil294

3
Zrobiłem to i IntelliJ nadal korzysta obowiązuje (patrz post dlaczego-przyzwyczajenie-IntelliJ-use-tabs )
doub1ejack

24

Zacząłem używać IntelliJ IDEA Community Edition w wersji 12.1.3 i znalazłem ustawienie w następującym miejscu: -

File > Other Settings > Default Settings > {choose from Code Style dropdown}

4
Nie znalazłbym tego bez twojej odpowiedzi. Dzięki!
MegaMatt,

2
Może być konieczne
usunięcie

14

Dla każdego, kto nie jest w stanie tego uzyskać, kolejną rzeczą, którą musisz odznaczyć, jak również

Preferences > Editor > Code Style
[] Enable EditorConfig support
EditorConfig may override the IDE code style settings

Moja wersja IntelliJ 15.0.4


1
Dziękuję Ci! Właśnie uratowałeś moją klawiaturę.
Carl Bergquist

Miałem 2 spacje jako rozmiar zakładki i od wielu dni próbowałem to naprawić. W ten sposób rozwiązałem problem. Wielkie dzięki @visheshd
adi

10

Kolejna przydatna opcja w IDEA, aby wyłączyć lub sprawdzić, jeśli naprawdę tego potrzebujesz:

Preferences -> Code Style -> Detect and use existing file indents for editing

jeśli Twój zespół ma zamiar przełączyć się na formatowanie tabulatorów z istniejącym kodem zapisanym spacjami, odznacz to


8

Czy próbowałeś .editorconfig ? Możesz utworzyć ten plik w katalogu głównym projektu i skonfigurować wcięcia dla różnych typów plików. Twój kod zostanie automatycznie sformatowany. Oto przykład:

# top-most EditorConfig file
root = true

# matches all files
[*]
indent_style = tab
indent_size = 4

# only json
[*.json]
indent_style = space
indent_size = 2

Ten plik przesłania wszystko inne w ustawieniach intellij. Bardzo ważne jest, aby najpierw sprawdzić ten plik.
Arashsoft

Po wypróbowaniu wszystkiego - zaakceptowanego lub innego - na tej stronie, jest to jedyna rzecz, która pokonała ciężką rękę spacji (Macos, Intellij CE 2018.3.4, istniejący plik .rs).
cloudsurfin

0

Moja wersja Intellij to 13.4.1

Intellij IDEA->Perference->Code Style(Project Setting)

0

Aby rozwinąć odpowiedź @Dmitiri Algazina: ustawienia dla poszczególnych języków są zastępowane ustawieniami ogólnymi

Preferences -> Code Style -> Detect and use existing file indents for editing

Jeśli więc zastanawiasz się, dlaczego nowe ustawienia są ignorowane po zmianie ustawień dla określonego języka, istnieje szansa, że ​​to pole wyboru jest zaznaczone.

Na marginesie; zmiana jakichkolwiek ustawień domyślnych automagicznie tworzy klon profilu ustawień (tj. Default(1)), który, jak zakładam, jest na miejscu, tak że domyślne ustawienia IDE nigdy nie są nadpisywane.

Na początku jest to trochę mylące, czy edytuje Defaultustawienia, czy Project Settingsbędzie miało jakikolwiek wpływ na projekt, ponieważ możesz wybrać Defaultz rozwijanego menu, a następnie edytować.

Jeśli nie chcesz, aby losowe klony ustawień domyślnych wypełniły Twoje profile ustawień, edytuj ustawienia projektu bezpośrednio.


0

Dla tych, którzy mają problem z wcięciem tutaj phpstorm, mam wskazówkę i mam nadzieję, że pomogą ...

Najpierw musisz przejść do file-> settings-> keymap-> select-> windows. wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj

Jeśli są na komputerze z systemem Windows. Jeśli korzystasz z Maca i wybierz MacOS.

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.