Ich weiß, dass es eine Menge Beiträge zu diesem Thema gibt, aber ich konnte es nicht zum Laufen bringen; Ich verwende Tabulatoren für die Codierung. Gibt es eine Möglichkeit, Leerzeichen immer in Tabulatoren umzuwandeln? D.h. beim Öffnen und beim Speichern von Dateien? Hat jemand eine Idee?
// edit:
Mein Wunsch ist es, dies automatisch zu tun! -> öffnen, speichern oder on the fly
Weiß jemand, wie man das macht?
Ich habe dies versucht:
import sublime, sublime_plugin, os
class ExpandTabsOnSave(sublime_plugin.EventListener):
# Run ST's 'expand_tabs' command when saving a file
def on_pre_save(self, view):
if view.settings().get('expand_tabs_on_save') == 1:
view.window().run_command('expand_tabs')
Und hier sind meine Benutzereinstellungen:
{
"auto_complete_selector": "source - comment, meta.tag - punctuation.definition.tag.begin",
"auto_indent": true,
"detect_indentation": true,
"draw_white_space": "all",
"ensure_newline_at_eof_on_save": true,
"expand_tabs_on_save": true,
"font_face": "SourceCodePro-Regular",
"font_size": 10,
"format_on_save": true,
"ignored_packages":
[
"Vintage"
],
"indent_to_bracket": true,
"open_files_in_new_window": false,
"smart_indent": true,
"tab_size": 4,
"translate_tabs_to_spaces": false,
"trim_automatic_white_space": true,
"trim_trailing_white_space_on_save": true,
"use_tab_stops": false,
"word_wrap": false
}
In der rechten unteren Ecke des Sublime Text-Fensters sehen Sie eine Einrückungsanzeige, die in etwa so aussieht:
Wenn Sie darauf klicken, öffnet sich ein Menü mit Optionen, mit denen Sie die Einrückung anpassen können, und, was noch wichtiger ist, mit denen Sie Leerzeichen in Tabulatoren umwandeln können (und umgekehrt).
Dasselbe Menü finden Sie auch unter "Ansicht -> Einrückung".
Am unteren Rand des Sublime-Fensters sehen Sie etwas, das Ihre Tabulator-/Leerzeichen-Einstellung darstellt.
Sie erhalten dann ein Dropdown-Menü mit einer Reihe von Optionen. Die Optionen, die Sie interessieren, sind:
Wenden Sie die gewünschte Einstellung auf das gesamte Dokument an.
Ich hoffe, das hilft.
Wie Sie vielleicht schon wissen, können Sie Ihre Einrückungseinstellungen z.B. in Preferences.sublime-settings
anpassen:
"detect_indentation": true,
"tab_size": 4,
"translate_tabs_to_spaces": false
Dies stellt Ihren Editor so ein, dass er Tabulatoren mit einer Breite von 4 Leerzeichen verwendet und setzt das Standardverhalten außer Kraft, das Sublime dazu veranlasst, die Einrückung der Datei, die Sie gerade bearbeiten, zu übernehmen. Mit diesen Einstellungen werden bei einer erneuten Einrückung der Datei alle Leerzeichen durch Tabulatoren ersetzt.
Was die automatische Neueinrückung beim Öffnen einer Datei betrifft, so ist das nicht ganz so einfach (aber wahrscheinlich auch keine gute Idee, da Änderungen des Leerzeichens bei Dateidifferenzen verheerende Auswirkungen haben). Eine bessere Vorgehensweise wäre: Sie können eine Verknüpfung für die erneute Einrückung zuweisen und diese einfach auslösen, wenn Sie eine neue Datei öffnen, die korrigiert werden muss.