it-swarm.com.de

Wie kann ich Sublime Text zwingen, zwei Leerzeichen pro Tab einzurücken?

Gibt es eine Möglichkeit, Sublime Text 2 zu zwingen, bei der Arbeit mit Ruby -Dateien immer zwei Leerzeichen pro Tab einzurücken?

Ich weiß, dass Einrückungen unter der Menüoption view -> indentation festgelegt werden können, aber sie bleiben nicht erhalten. Jedes Mal, wenn ich eine neue Datei öffne und auf die Registerkarte drücke, wird diese auf vier Leerzeichen zurückgesetzt.

481
Mohamad

Wenn Sie es für alle Dateien wollen, gehen Sie zu Preferences -> Settings - Default/User. Wie jedoch aus den folgenden Kommentaren hervorgeht, können syntaxspezifische Einstellungen dies nur auf die von Ihnen ausgewählten Sprachen beschränken.

Um diese Konfiguration auf Ruby Dateien zu beschränken, öffnen Sie zuerst eine Ruby Datei im Editor und gehen Sie dann zu Preferences -> Settings - Syntax Specific. Dies sollte ein Einstellungsfenster mit dem Namen Ruby.sublime-settings öffnen.

Speichern Sie diese Einstellungen:

{
  "tab_size": 2,
  "translate_tabs_to_spaces": true,
  "detect_indentation": false
}

Wiederholen Sie diesen Vorgang für alle anderen Syntaxtypen, indem Sie eine Datei dieses Typs öffnen und zu den Voreinstellungen zurückkehren, um die richtige Voreinstellungsdatei für diese Syntax zu öffnen.

Ich habe dies so bearbeitet, dass die Zeile "detect_indentation" in den Kommentaren in den Anforderungen enthalten ist. Zuvor habe ich mit "Default/User" die Tabulatorgröße festgelegt und die Tabulatorerkennung nicht benötigt config oder aufgrund der Tatsache, dass ich selten Dateien mit Tabs geöffnet habe, weiß ich nicht.

Ein Neustart sollte nicht erforderlich sein, obwohl dies in einigen Fällen der Fall sein kann.

864
DGM

Wenn Sie die von Ihnen gewählte Registerkarteneinstellung erzwingen möchten und ignorieren möchten, was wahrscheinlich bereits in der Datei vor sich geht, sollten Sie detect_indentation in Ihre Konfiguration aufnehmen (Ihre Benutzereinstellungen oder Ihre syntaxspezifischen Einstellungen, je nachdem, ob Sie es global oder global möchten pro Dateityp):

{
    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false
}
162
James Chevalier

Sie können dies auch mit dem Textlink in der unteren Leiste von Sublime Text 2 (auf der rechten Seite) tun, der standardmäßig "Tab Size 4" anzeigt. Klicken Sie darauf, und ein Fenster mit Optionen zum Festlegen der Tabulatorgröße aus einem Leerzeichen wird geöffnet Insgesamt bis zu 8 Leerzeichen und Optionen zum Konvertieren von Tabulatoren in Leerzeichen und Leerzeichen in Tabulatoren.

Sieht aus wie das:

Tab Options in Sublime Text 2

84
Taskism

Kann ich vorschlagen EditorConfig ? Es gibt eine Erweiterung zum automatischen Laden und Anwenden der .editorconfig -Datei. Dann erstellen Sie einfach eine im Stammverzeichnis Ihres Projekts.

.editorconfig

[*.rb]
indent_style = tab
indent_size = 2

Auf diese Weise sind Ihre Einstellungen projekt- und dateispezifisch, wenn Sie für jedes Projekt oder jede Sprache unterschiedliche Stile verwenden.


So sieht mein eigener .editorconfig aus.

# 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
27
Nate

Ich benutze Stupid Indent package.

Install Package -> Stupid Indent

Preferences -> Package Settings -> Stupid Indent -> Setting-Users

Kopieren Sie die Einstellungen (von Ruby Part) in.

{
    "configuration":
    [
        {
            "patterns": ["*.rb"],
            "tab_size": 2,
            "translate_tabs_to_spaces": true
        }
    ]
}
8
Rahn

Ich folgte den vorherigen Antworten, einschließlich des Hinzufügens der Zeile detect_indentation, und meine Tabulatoren enthielten immer noch fünf Leerzeichen. Dann wurde mir klar, dass die Auswahl von Preferences -> Settings -> More -> Syntax Specific -> User aus einer Ruby -Datei Ruby on Rails.sublime-settings für mich und nicht Ruby.sublime-settings öffnete.

Ich habe meine Ruby on Rails.sublime-settings -Datei in Ruby.sublime-settings umbenannt. Endlich haben zwei Tabulatoren funktioniert! Ich habe die gleichen Einstellungen auch in Ruby on Rails.sublime-settings vorgenommen, nur um sicherzugehen.

1
Tim Koelkebeck