Sublime Text ist ziemlich gut darin, das Wechseln zwischen Tabs und Leerzeichen zur Einrückung Ihres Codes zu erleichtern. Noch wichtiger ist, dass es einfach ist, die Einrückung von Code anzupassen, der nicht Ihren Vorlieben entspricht. Ich dachte, ich stelle das zur Referenz zusammen, da es für einige Übergänge eine bestimmte Schrittfolge gibt, die befolgt werden muss.
Der erste Schritt besteht darin, sicherzustellen, dass Ihre Benutzereinstellungen Ihren Wünschen entsprechen.

Ich bevorzuge Leerzeichen, also sind meine Einstellungen so
{
// other stuff
"tab_size": 2,
"translate_tabs_to_spaces": true,
// more other stuff
}
Passen Sie es dort nach Belieben an.
Sie können diese Einstellungen für jede gegebene Datei überschreiben, unten rechts.

Dies ist auch die Zentrale zur Korrektur eines Dokuments, das nicht Ihren Wünschen entspricht.
Von Tabs zu Leerzeichen konvertieren (gleiche Einrückungsebene)
Hier ist ein Dokument, das gerade in Tabs vorliegt. Ich kann es erkennen, weil ich den Text ausgewählt habe und sich im Leerraum Striche und keine Punkte befinden. Striche sind Tabs, Punkte sind Leerzeichen. Außerdem sehe ich unten rechts, dass „Tab-Größe: 2“ steht.

Sie sehen, dass diese Tabs 2 Leerzeichen breit sind. Angenommen, ich möchte zu Leerzeichen wechseln und bin mit 2 Leerzeichen pro Tab zufrieden, wähle ich einfach „Einrückung in Leerzeichen konvertieren“ aus diesem Menü.

Und für diesen Fall bin ich bestens gerüstet.
Von Tabs zu Leerzeichen konvertieren (unterschiedliche Einrückungsebene)
Nehmen wir an, eine direkte Konvertierung von Tabs zu Leerzeichen ist nicht ausreichend. Angenommen, das Tab-Level ist auf 6 Leerzeichen pro Tab eingestellt, und ich möchte in Leerzeichen konvertieren, aber nur 2 Leerzeichen pro Einrückung. Der Trick besteht darin, zuerst die Abstände anzupassen, während Sie sich im Tab-Modus befinden, und dann zu konvertieren.

Von Leerzeichen zu Leerzeichen konvertieren (unterschiedliche Einrückungsebene)
Was ist, wenn Sie eine Datei haben, die so ist, wie Sie sie mögen, aber 4 Leerzeichen anstelle von 2 verwendet? Sublime Text kann hier immer noch helfen. Sie nutzen die Fähigkeit von Tabs, variable Längen zu haben. Konvertieren Sie also zuerst in Tabs, passen Sie die Breite an und wechseln Sie dann zurück zu Leerzeichen.

Von Leerzeichen zu Tabs konvertieren
Ich denke, wir haben das jetzt verstanden. Sie können all dies auch in umgekehrter Richtung tun, wenn Sie Tabs bevorzugen.

Ich denke, Sie können andere Wechsel-Szenarien von dort ableiten.
Ich glaube nicht, dass es ein Szenario gibt, das Sie auf diese Weise nicht nach Ihren Wünschen anpassen können. Wenn Sie manuell Einrückungen anpassen (die für sich konsistent sind), hören Sie auf, Sie können einen Weg finden, es mit Einstellungen zu beheben.
Wenn Sie unten über Tabs vs. Leerzeichen diskutieren möchten, legen Sie los, aber ich kann Ihnen sagen, dass es mir wirklich egal ist. Hauptsächlich kümmert es mich, dass jedes einzelne Projekt darin konsistent ist und es durchsetzt.
.editorconfig
Auch erwähnenswert: Es gibt etwas namens EditorConfig. Sie legen eine Datei im Stammverzeichnis Ihres Projekts namens .editorconfig ab. Wenn jemand dieses Projekt in einem Editor öffnet, der dies unterstützt, werden diese Einstellungen berücksichtigt. Es gibt eine für SublimeText.
Die Datei könnte ungefähr so aussehen
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
Sehr nützlich. Ich benutze Sublime schon lange, habe aber all diese Funktionen, die verfügbar sind, nicht bemerkt. Danke.
Schöne Tipps, danke. Welches Theme und welche Farbschemata verwenden Sie in den Screenshots?
Er benutzt Twilight, das ist bei Sublime Text dabei.
Klicken Sie einfach auf Preferences > Color Scheme > Twilight
Sie sind also ein Sublime-Mensch, hm? Ich benutze selbst Coda. Haben Sie andere Texteditoren ausprobiert, und wenn ja, was macht Sublime für Sie, damit Sie es weiterhin verwenden? Oder ist es nur Gewohnheit/Vertrautheit?
Ich habe Coda benutzt, bin aber zu Espresso von MacRabbit gewechselt, was ich bevorzuge.
Piers,
Ich habe früher Coda benutzt, aber dann habe ich mich entschlossen, Sublime Text 2 auszuprobieren, weil ich viel Gutes darüber gehört habe. Ich benutze es jetzt seit ein paar Monaten und ich kann Ihnen sagen, dass ich nie wieder zu Coda zurückkehren werde.
Sublime Text hat unzählige Funktionen, die das Programmieren viel angenehmer machen. „Go to anything“ und „Package Control“ sollten ausreichen, um Sie zu überzeugen. Das Erlernen von Tastenkombinationen, um Ihre Mausnutzung zu minimieren, ist nett. Oh, und es ist ziemlich schnell!
Sublime Text ist wie eine schöne weiße Leinwand, die Sie nach Ihren Bedürfnissen bemalen können.
Ich habe immer zwischen Coda und Espresso gewechselt, wenn einer von ihnen aktualisiert wurde, ich mag beide.
Dann kam Sublime und es gab kein Zurück mehr. Unser gesamtes Entwicklerteam hat seine Lieblingseditoren seit Jahren aufgegeben, und wir sind alle innerhalb weniger Wochen auf Sublime umgestiegen. Es ist superschnell, erweiterbar, sauber, anpassungsfähig und fühlt sich einfach so an, als ob es irgendwie „frisch bleibt“.
Gute Arbeit, Chris. Viele Leute werden das nützlich finden, mich eingeschlossen. Gibt es Tastenkombinationen, um dies zu tun?
Das ist Sublime Text. Natürlich gibt es Tastenkombinationen. ;-)
Öffnen Sie die Befehlspalette (Umschalttaste + Strg + P unter Windows, Umschalttaste + Befehlstaste + P unter Mac)
Beginnen Sie mit der Eingabe, z. B. „contabs“ (dies sollte den genauen Eintrag finden) oder einfach „tabs“ (drücken Sie die Pfeiltaste nach unten, um den richtigen Eintrag auszuwählen)
Drücken Sie Enter
Ähnlich „conspaces“ oder „spaces“.
…und wenn Ihnen das nicht schnell genug ist, können Sie eine tatsächliche Tastenkombination in Ihren Tastatureinstellungen definieren.
Danke Mike, ich werde meine eigenen Tastenkombinationen definieren.
Sublime Makro konvertiert TwoSpace zu FourSpace
convertTwoSpacesToFour.sublime-macro
]
Hallo Chris!
Bitte sagen Sie mir, warum Sie Leerzeichen bevorzugen?
Danke.
Ich habe früher auch Leerzeichen bevorzugt, bis ein Kollege darauf hinwies, dass wir, wenn wir Tabs verwenden würden, jeder Entwickler seinen eigenen Editor so konfigurieren könnte, dass die Tabs die gewünschte Breite haben. Bei Leerzeichen waren wir alle auf die Anzahl der Leerzeichen beschränkt, die vom ersten Entwickler für jede Datei verwendet wurden, und mussten uns als Team darauf einigen, wie viele Leerzeichen als Standard gelten sollten.
Genau. Ich finde auch, dass Tabs es einfacher machen, eine konsistentere Hierarchie zu erreichen. Ich habe so viele Fehler in Code gesehen, der mit Leerzeichen eingerückt ist, wo zusätzliche Leerzeichen vorhanden sind, wo sie nicht sein sollten. Es scheint, dass Tab-Hierarchiefehler offensichtlicher macht.
Genau das.
Ja, ja, ja.
Das ist mein größtes Argument für Tabs. Mit Tabs kann jeder Einzelne mit der für ihn passenden Leerzeichenbreite arbeiten. Ist das nicht effizienter, als Entwickler aus ihrer Komfortzone zu drängen?
Die Leute haben Angst vor Tabs. Da gibt es eine Art Voodoo-Magie, bei der 1 Zeichen einer beliebigen Anzahl von Leerzeichen in einem nicht-proportionalen Schriftart entspricht.
Das gesagt, ich bevorzuge Tabs, weil es dem entspricht, was ich erreichen möchte. Ich möchte 1 Einrückungsebene erreichen.
Ich habe eine Weile Leerzeichen benutzt, weil es schien, dass man kein RICHTIGER Entwickler ist, es sei denn, man benutzt einfaches ASCII #10, und ich denke, dass einige ältere Texteditoren Probleme mit allem außer Leerzeichen hatten und Dateien flach machten.
Im heutigen Zeitalter mit Code-Vervollständigung, Syntax-Hervorhebung und automatisierten Tools zur Steuerung von Abständen scheint es jedoch sinnvoller zu sein, in Einrückungsebenen und nicht in der Anzahl der Leerzeichen zu denken.
Mit der Zeit denke ich, dass die Verwendung von Leerzeichen so altmodisch sein wird wie die Verwendung von reinem CSS anstelle eines Präprozessors. Natürlich, vielleicht irre ich mich. Das Gleiche sagten sie über manuelle Getriebe in Autos.
Hallo!
Gute Neuigkeit!
Warnung: Lassen Sie sich nicht verleiten, etwas zu ändern, *während Sie gleichzeitig einen Fehler beheben oder Codeänderungen vornehmen*… Ihre Quellcodeverwaltung wird die „nützliche“ Arbeit in einem Haufen von Einrückungsänderungen begraben.
Halten Sie Einrückungsänderungen in einem eigenen „Fix“-Commit; Ihre Kollegen werden es Ihnen danken…
Das Problem, das ich immer hatte, war, dass unsere Entwickler unter Windows, insbesondere diejenigen, die Visual Studio verwenden, Leerzeichen verwenden. Ich habe die Dokumente in Sublime korrigiert, aber dann wurde es schwierig, Dateien zu vergleichen, da die gesamte Datei wegen der Abstände geändert wurde.
Steve, warum nicht die Einstellungen von Visual Studio auf Tabs umstellen? Es hat ähnliche Funktionen wie „Tabs verwenden“, „Tab-Breite“ usw.
Sehr praktisch, nichts ist schlimmer als „Leerzeichen vs. Tabs“-Kriege im Büro und bei Git-Pulls…
Hey Chris, tolle Tipps. Wie machst du diese schicken animierten GIFs in deinem Artikel?
LICEcap. http://www.cockos.com/licecap/
Daumen hoch :) Wirklich großartige Informationen, du schreibst großartige Ressourcen für Entwickler. @Chris, vielen Dank.
Schön! Ich war auf der Suche nach einer Art „Retabify“-Lösung für Sublime Text. Die Konvertierung zuerst in Tabs war für mich das fehlende Glied.
Danke für diesen Artikel, Chris. Ich habe Sublime Text 3 gekauft, nachdem ich Ihre Kurse in der Lodge begonnen habe. Ich benutze Dreamweaver seit etwa 16 Jahren und suche daher nach einigen Paketen, die mir etwas von der DW-Süße geben, wie z. B. einen Code-Reformatter, um die Einrückungen schnell zu begradigen. Außerdem benutze ich DW noch für FTP. Hat jemand ein paar Lieblingspakete zu empfehlen?
Außerdem, wo gibt es gute Ressourcen für Paketbewertungen? Ich möchte nicht einfach aus den vielen aufgelisteten auswählen, ohne eine gute Empfehlung zu haben. Ich benutze Emmet und liebe es. Danke.
Ich muss häufig Codeblöcke neu einrücken, entweder weil ich einen Codeblock verschoben habe oder weil ich versuche, ihn woanders wiederzuverwenden. Für diejenigen, die suchen: Dieser Befehl befindet sich unter Edit -> Line -> Reindent.
Wählen Sie zuerst einen Codeblock aus, und er wird diesen Abschnitt basierend auf seiner Umgebung neu einrücken.
Das sind großartige Snippets. Ich benutze Sublime regelmäßig, aber ich hätte nie gedacht, dass es so großartige Funktionen wie diese hat. Danke nochmals an Sie, Chris.
Sublime Text rockt wirklich. Viele Details zu den Funktionen, die es bietet, in der Tat!
Für schnelleres Umschalten zwischen Tabs und Leerzeichen.
Tastenkombinationen können sein
Es ist ein praktisches Werkzeug. Tatsächlich habe ich es entdeckt, als ich die Optionen in Sublime Text durchgespielt habe.
Coda ist meiner Meinung nach auch eine gute App.
Tolle Informationen. Ich benutze Sublime seit 3 Jahren, aber ich habe keine solche großartige Funktion bemerkt. Vielen Dank.