Wie kann ich NetBeans so konfigurieren, dass Tabulatoren anstelle von Leerzeichen eingefügt werden?


115

Wenn ich Tabzum Einrücken von Code drücke, möchte ich einen echten Tab erhalten. Das heißt, wenn ich das auswähle, habe ich nur eine große Sache ausgewählt. NetBeans fügt 5 Leerzeichen anstelle eines Tabulators ein, wenn ich drücke Tab. Gibt es eine Möglichkeit, das zu ändern?


7
Tabstops von 5 sind wirklich ungewöhnlich.
Anon.

3
Die Größe eines Tabs ist nur eine Meinung, aber das Einfügen von Leerzeichen ist das Dümmste, was Sie tun können, wenn Sie mich fragen.
Timing

10
"Wenn Sie nur Leerzeichen verwenden und keine Leerzeichen mit Tabulatoren mischen, können Sie Probleme mit Unterschieden, Patches, Verlauf und Anmerkungen vermeiden. Die Verwendung von Leerzeichen erleichtert auch das Einfügen feinkörniger Untereinrückungen für die Ausrichtung zwischen Zeilen." github.com/php-fig/fig-standards/blob/master/accepted/…
leticia

5
Im PSR-2-Coding-Style-Guide heißt es: "Code MUSS 4 Leerzeichen zum Einrücken verwenden, keine Tabulatoren." wie der vorherige Kommentator erwähnt. Es ist nur gut, sich bewusst zu sein, wenn Sie von Standards abweichen.
Camden S.

5
Ist der PSR-Standard nicht für PHP? Warum zwingen Netbeans es auf alles? Tab ist natürlicher und intuitiver ... Sie verwenden Leerzeichen für Leerzeichen und Tabulatoren zum Einrücken
Remian8985

Antworten:


155

Gehen Sie zu Extras-> Optionen-> Editor-> Formatieren und deaktivieren Sie Registerkarten zu Leerzeichen erweitern :

Erweitern Sie Tabulatoren zu Leerzeichen

Stellen Sie sicher, dass Sie auch kohärente Werte für "Anzahl der Leerzeichen pro Einzug" und "Tabulatorgröße" auswählen.


Darüber hinaus können Sie alle Elemente in der Sprachkombination überprüfen und sicherstellen, dass alle die allgemeine Einstellung verwenden.

Verwenden Sie die Einstellung Alle Sprachen

Sie können es auch pro Projekt ändern. Klicken Sie mit der rechten Maustaste auf das Projektsymbol, wählen Sie Eigenschaften und überprüfen Sie die Kategorie Formatierung .

Verwenden Sie projektspezifische Optionen

Diese Menüpunkte bleiben ab NetBeans 8.0 gültig.


7
Deaktivierte überall "Tabulatoren auf Leerzeichen erweitern". Es ist ein Fehler in Netbeans. Es wird IMMER auf Räume erweitert.
openfrog

3
Anscheinend ändert es nichts an früheren Leerzeichen. Es betrifft nur Zeilen, in denen Sie den Einzug ändern. Ist das der Fall? Sie können den Befehl "Quelle-> Format" ausprobieren.
Álvaro González

30
Das gleiche Problem hier, aber ich glaube, ich habe es verstanden: Wenn Ihre aktuelle Datei in ungeraden Abständen "Leerzeicheneinrückungen" aufweist (z. B. 3, 5, ...), wird NetBeans versuchen, mithilfe von Leerzeichen klug zu sein und diese Ebene einzurücken, wenn Sie drücken die Tabulatortaste. Legen Sie beide Tabstopp und Anzahl der Räume pro indent bis 8, dann Quelle-> Format als Alvaro erwähnt, und dann erhalten Sie die Tab - Taste zum Einfügen .. eine Registerkarte.
MVDS

7
@mvds: Großartig, das funktioniert! Sie können auch "Tab Size" auf 4 setzen. Es muss nur gleich "Number of Spaces per Indent" sein.
PiTheNumber

1
@mvds Ihre Methode hat funktioniert! Ich musste nur die "Anzahl der Leerzeichen pro Einzug" und die "Tab-Größe" auf den gleichen Wert setzen und es funktionierte! Beide bis 4 oder beide bis 8. Danke!
Jo Smo

70

Es scheint zu funktionieren, wenn Sie denselben Wert für "Anzahl der Leerzeichen pro Einzug" und "Tabulatorgröße" auswählen, nachdem Sie die Option "Tabulatoren zu Leerzeichen erweitern" unter Extras -> Optionen -> Editor -> Formatierung deaktiviert haben, zum Beispiel:

[] Tabulatoren auf Leerzeichen erweitern

Anzahl der Leerzeichen pro Einzug: [4]
Tab-Größe: [4]
....

Dies ist auch eine Lösung für die Version 7.3 (MAC)
Knagode

Übrigens, wenn Sie jVi installiert haben, sollten diese Optionen über jVi config festgelegt werden. Standardoptionen für Tabwidth und Shiftwidt funktionieren nicht mehr
Qed

Netbeans 8.0 und diese Antwort haben mir tatsächlich geholfen. Dies sollte die richtige Antwort ab 2014 sein.
Omar Tariq

1
Möglicherweise muss in der Dropdown-Liste Sprache auch "Alle Sprachen" ausgewählt sein, damit die Registerkartenoptionen angezeigt werden. (Wenn ich eine Python-Datei geöffnet habe, werden standardmäßig die sprachspezifischen Einstellungen für Python verwendet.)
CrazyPyro

1
Ich kann bestätigen, dass diese Methode in Netbeans 8.0 funktioniert!
Jo Smo

6

Für NetBeans 7.1.2

Ich musste zu Extras -> Optionen -> Editor -> Registerkarten zu Leerzeichen erweitern gehen und dieses deaktivieren (stellen Sie sicher, dass "Alle Sprachen" ausgewählt ist). Geben Sie außerdem eine "8" für die Anzahl der Leerzeichen pro Einzug und die Tabulatorgröße ein .

Nur den gleichen Wert dort zu haben, reicht für mich nicht aus. Es muss 8 sein.


5

Unter Extras-> Optionen-> Editor-> Formatierung sollten Registerkarten auf Leerzeichen erweitern deaktiviert sein und die Anzahl der Leerzeichen pro Einzug sollte der Registerkartengröße entsprechen . Überprüfen Sie auch, wann Sie die Sprache von " Alle Sprachen" in eine andere Sprache ändern. Die Option "Globale Optionen überschreiben" sollte ebenfalls deaktiviert sein.


0

Netbeans IDE 8.2 (OSX)

Gehe zu Datei -> Projekteigenschaften (Ihr Projekt)

Geben Sie hier die Bildbeschreibung ein

Wählen Sie Formatierung in Kategorien :

Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf Globale Optionen bearbeiten .

Geben Sie hier die Bildbeschreibung ein

Klicken Sie dann auf OK

Geben Sie hier die Bildbeschreibung ein

  • Deaktivieren Sie: Erweitern Sie die Registerkarten auf Leerzeichen .
  • Klicken Sie auf: Übernehmen
  • Klicken Sie auf: Ok

Wenn Sie projektspezifisch festlegen möchten, dann:

  • Wählen Sie: Verwenden Sie projektspezifische Optionen .
  • Deaktivieren Sie: Erweitern Sie die Registerkarten auf Leerzeichen .
  • Sie können auch Sprache (PHP) auswählen.

Geben Sie hier die Bildbeschreibung ein

Klicken Sie dann auf OK

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.