Wie ändere ich den Einrückungsmodus in Atom?

194

Ich habe das noch nicht herausgefunden. Atom scheint Leerzeichen als Standard-Einrückungsmodus zu verwenden. Ich bevorzuge jedoch Tabs. Sublime Text verfügt über integrierte Funktionen zum Umschalten und Konvertieren von Einrückungen.

Hat jemand herausgefunden, wie man den Einrückungsmodus von Atom ändert?

Einige Screenshots von Sublime Text:

Das Menü zum Einrücken von erhabenem Text wird geöffnet Sublime Texteinrückungsmenü

Jon Koops
quelle
4
Zum Konvertieren von Einrückungen können Sie einen regulären Ausdruck suchen und ersetzen und \ t verwenden, um Registerkarten zu suchen oder einzufügen.
mer10z_tech
1
Gibt es eine einfache Möglichkeit, den aktuellen Code aus dem Einrückungsmodus 2 in 4 zu ändern?
Charlie Parker
1
Ich verwende das Plugin zur automatischen Erkennung von Einrückungen, das nicht nur automatisch die Tabulatortaste konfiguriert, um das zu tun, was bereits in der Datei enthalten ist, sondern auch den Einrückungsmodus unten links anzeigt.
while1fork
@CharlieParker Sie gehen zu den Einstellungen, klicken auf die Registerkarte Editor und setzen Einrückung auf 4.
Craig
Hinweis: Atom zeigt und durchläuft standardmäßig Leerzeichen wie Tabulatoren! Siehe die Antwort von tparker hier: stackoverflow.com/a/46333677/1599699
Andrew

Antworten:

218

Siehe Soft Tabs und Tab Length unter Einstellungen> Editoreinstellungen .

Um den Einrückungsmodus schnell umzuschalten, können Sie Strg-Umschalt-P verwenden und nach Editor suchen : Weiche Registerkarten umschalten .

blom
quelle
1
Wie @zamber sagte, wenn eine Seite automatisch eingerückt wird und Ihre Einrückungseinstellungen nicht übernommen werden, öffnen Sie sie erneut und versuchen Sie es erneut.
Victor S
58
Nur als Randnotiz: Weiche Tabulatoren sind Leerzeichen als Tabulatoren, harte Tabulatoren sind Tabulatorzeichen. Auch wenn die Einstellungen nicht überprüft werden, versuchen SieCtrl-Shift-P Editor: Toggle Soft Tabs
ivan-k
2
Ich möchte hinzufügen, dass KEINE der Lösungen in diesem Thread für mich funktioniert hat, BIS ich zu einer Schriftart mit einem Abstand gewechselt habe. Nachdem ich zu einer Mono-Schriftart gewechselt hatte, habe ich jede Methode ausprobiert und alle funktionieren tatsächlich. Hoffe das hilft jemandem in der Zukunft ...
Native Coder
Gibt es eine einfache Möglichkeit, den aktuellen Code aus dem Einrückungsmodus 2 in 4 zu ändern?
Charlie Parker
Ich kann keinen Vorteil darin sehen, beim Codieren KEINE monospaced Schriftart zu verwenden, muss ich zugeben.
Frank Bailey
65

Gehen Sie zu Datei -> Einstellungen

Hier gibt es 3 verschiedene Möglichkeiten.

  1. Soft Tabs
  2. Tab-Länge
  3. Tab-Typ

Ich habe einige Tests durchgeführt und bin zu diesen Schlussfolgerungen darüber gekommen, was jeder tut.

Soft Tabs - Wenn Sie diese Option aktivieren, werden standardmäßig Leerzeichen verwendet (dh für neue Dateien).

Tabulatorlänge - Wie breit das Tabulatorzeichen angezeigt wird oder wie viele Leerzeichen für einen Tabulator eingefügt werden, wenn weiche Tabulatoren aktiviert sind.

Tabulatortyp - Hiermit wird der Einrückungsmodus festgelegt, der für vorhandene Dateien verwendet werden soll. Wenn Sie die Option auf "Automatisch" setzen, wird der vorhandene Einzug (Tabulatoren oder Leerzeichen) verwendet. Wenn Sie es auf weich oder hart einstellen, werden Leerzeichen oder Tabulatoren unabhängig von der vorhandenen Einrückung erzwungen. Am besten lassen Sie dies auf Auto.

Hinweis: Soft = Leerzeichen, Hard = Tab

entwicklermw
quelle
Sie können auch über Atomic Soft Tabs sprechen ?
Neeh
3
Gibt es eine einfache Möglichkeit, den aktuellen Code aus dem Einrückungsmodus 2 in 4 zu ändern?
Charlie Parker
1
Vielen Dank, dass Sie dabei geholfen haben, einige der Fachsprache zu klären, die Atom verwendet, um dieses Problem zu verstehen.
MiFiHiBye
23

Fügen Sie dies Ihrem hinzu ~/.atom/config.cson

editor:
    tabLength: 4
Leif Gruenwoldt
quelle
15

OS X:

  1. Gehe zu Atom -> prefrencesoderCMD + ,

  2. Scrollen Sie nach unten und wählen Sie "Tab Length" , die Sie bevorzugen.

Geben Sie hier die Bildbeschreibung ein

Sagte Kholov
quelle
11

Sie können versuchen, unter "Atom> Einstellungen> Editor" die Tabulatorlänge auf 4 zu setzen.

Geben Sie hier die Bildbeschreibung ein

Dies ist für Mac. Für Windows müssen Sie das entsprechende Menü finden.

Craig
quelle
7

Hinzufügen @Manbroski Antwort hier die für mich gearbeitet:

Versuchen Ctrl-Shift-P Editor: Toggle Soft Tabs

OscarRyz
quelle
6

Zu spät zur Party, aber eine saubere Möglichkeit, dies pro Projekt zu tun, besteht darin, eine .editorconfig- Datei zum Stammverzeichnis des Projekts hinzuzufügen . Spart Ihnen, die Einstellungen von Atom ändern zu müssen, wenn Sie an mehreren Projekten gleichzeitig arbeiten.

Dies ist ein Beispiel für ein sehr einfaches Setup, das ich derzeit verwende. Funktioniert für Atom, ST, etc ...

http://editorconfig.org/

# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true

# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2

# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2
ConorLuddy
quelle
Ich habe Atom fast komplett weggeworfen, bis ich das sah. Die Einstellungen von config.cson scheinen für vorhandene Dateien absolut nichts zu tun. Vielen Dank!
Killthrush
3

Dies ist in den Kern integriert: Sehen Settings ⇒ Tab Typeund wählen Sie auto:

Bei der Einstellung "auto" erkennt der Editor den Tabulatortyp automatisch anhand des Inhalts des Puffers (er verwendet das erste führende Leerzeichen in einer Zeile ohne Kommentar) oder verwendet den Wert der Konfigurationseinstellung "Soft Tabs", wenn automatisch Erkennung schlägt fehl.

Vielleicht möchten Sie auch einen Blick auf das Paket Auto Detect Indentation werfen . Aus den Dokumenten:

Einrückung geöffneter Dateien automatisch erkennen. Es betrachtet jede geöffnete Datei und legt dateispezifische Registerkarteneinstellungen (harte / weiche Registerkarten, Registerkartenlänge) basierend auf dem Inhalt der Datei fest, anstatt immer die Standardeinstellungen des Editors zu verwenden.

Möglicherweise haben Sie Atom so konfiguriert, dass 4 Leerzeichen für Registerkarten verwendet werden. Öffnen Sie jedoch ein Rails-Projekt, das standardmäßig 2 Leerzeichen enthält. Ohne dieses Paket müssten Sie Ihre Tabstop-Einstellungen global ändern, da sonst die Gefahr besteht, dass Ihre Dateien einen inkonsistenten Lead-Abstand aufweisen.

jcuenod
quelle
Wenn Sie 'auto' verwenden und es falsch ist (in meinem Fall wird entschieden, Leerzeichen zu verwenden, wenn ich Tabulatoren für diese bestimmte Datei möchte), wie können Sie (mit einem Schnellmenü oder einem Tastendruck, ohne sich mit Einstellungen zu befassen) Ihre Meinung ändern? Ich glaube nicht, dass die automatische Erkennung fehlgeschlagen ist, sondern nur falsch. Es wird kein Hard-Tab für mich eingegeben. Ich habe überall gesucht und ersetzt, aber die Tabulatortaste fügt immer noch 4 Leerzeichen ein.
Ed Randall
Ich hätte nicht verwendet search-and-replaceIch hätte die Befehlspalette convert spaces to tabs(oder so ähnlich) verwendet. Ich denke, das hat in der Vergangenheit bei mir funktioniert.
Jcuenod
3

Ich hatte nur das gleiche Problem und keiner der oben genannten Vorschläge hat funktioniert. Schließlich habe ich versucht, "Atomic Soft Tabs" im Menü "Editor-Einstellungen" zu deaktivieren, was funktioniert hat.

tparker
quelle
OH! Das heißt das! Ich habe mich gefragt, warum meine Pfeiltasten über die Leerzeichen springen, wenn keine \tin der Datei sind ...
Andrew
2

Wenn Sie Babel verwenden, sollten Sie auch sicherstellen, dass Sie Ihr "Language Babel" -Paket aktualisieren. Obwohl ich in meinen Kerneditoreinstellungen die Tab-Länge auf 2 gesetzt hatte, überschrieb die gleiche Einstellung in der Language Babel-Konfiguration diese für mich mit 4.

Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length

Stellen Sie sicher, dass die entsprechende Grammatik "Babel ES6 Javascript Grammar", "Language-Babel-Extension Grammar" sowie "Regular Expression" vorhanden sind. Sie möchten wahrscheinlich alle aktualisieren, um konsistent zu sein.

Mike M.
quelle
1

Wenn die globalen Einrückungseinstellungen für Tabulatoren / Leerzeichen nicht mehr Ihren Anforderungen entsprechen (dh Sie arbeiten mit älteren Codebasen mit unterschiedlichen Einrückungsformaten und müssen schnell zwischen diesen wechseln, und die automatische Erkennung funktioniert nicht), können Sie die Registerkarte ausprobieren -control Plugin, das die Funktionalität des Menüs in Ihrem Screenshot dupliziert.

Ed Halferty
quelle
1

Als die automatische Erkennung von Atom-Einrückungen hoffnungslos falsch lief und ich mich weigerte, ein wörtliches Tabulatorzeichen einzugeben, fand ich schließlich die Erweiterung 'Force-Tab' - die mir die Kontrolle zurückgab. Ich wollte die Umschalttaste für das Outdenting beibehalten, also setze die Strg-Registerkarte, um eine harte Registerkarte einzufügen. In meiner Keymap habe ich hinzugefügt:

'atom-text-editor': 'ctrl-tab': 'force-tab:insert-actual-tab'

Ed Randall
quelle
1

Wenn Sie die Version 1.21.1 verwenden:

  1. Klicken Sie auf Pakete / Einstellungen anzeigen / öffnen
  2. Wählen Sie "Editor" auf der linken Seite
  3. Scrool nach unten, bis Sie "Tab Length" sehen.
  4. Bearbeiten Sie den Wert. Ich setze es gerne auf 4.

Schließen Sie jetzt einfach den aktiven Registerkartenbereich und Sie sind fertig.

Caiuby Freitas
quelle
0

Alle beliebtesten Antworten hier sind großartige Antworten und aktivieren Leerzeichen für Tabulatoren, aber allen fehlt eine Sache. So wenden Sie die Leerzeichen anstelle von Tabulatoren auf vorhandenen Code an.

Wählen Sie dazu einfach den gesamten Code aus, den Sie formatieren möchten, und gehen Sie dann zu Bearbeiten-> Linien-> Automatischer Einzug. Dadurch wird alles ausgewählt, was ausgewählt wurde.

Alternativ können Sie einfach den gesamten Code auswählen, den Sie formatieren möchten, dann Strg-Umschalttaste P verwenden und nach Auto Indent suchen. Klicken Sie einfach in den Suchergebnissen darauf und alles, was ausgewählt wurde, wird korrigiert.

Ajpieri
quelle
0

Sprachspezifische Konfiguration ändern

Ich habe die Standardeinstellungen für Registerkarten geändert, und es hatte immer noch keine Auswirkungen, wenn ich meine Dateien bearbeitete, bei denen es sich um Python-Dateien handelte. Es hat sich auch nicht geändert, als ich die Einstellung "*" in ~ / .atom / config.cson geändert habe. Ich habe keine gute Erklärung für beides.

Als ich meiner config.cson jedoch Folgendes hinzufügte, konnte ich die Registerkarte in meinen Python-Dateien in zwei Leerzeichen ändern:

'.source.python':
  editor:
    tabLength: 2

Dank dieser Ressource für die Lösung: Tabulatortaste ohne Berücksichtigung der Tabulatorlänge

MK Hunter
quelle