Frage

Gibt es eine Möglichkeit, Sublime Text 2 zu zwingen, beim Arbeiten mit Ruby-Dateien immer zwei Leerzeichen pro Tabulator einzurücken?

Ich weiß, dass die Einrückung unter dem gesetzt werden kann view -> indentation menüoption, aber es klebt nicht.Jedes Mal, wenn ich eine neue Datei öffne und auf Tab drücke, wird sie auf vier Leerzeichen zurückgesetzt.

War es hilfreich?

Lösung

Wenn du es willst für aller dateien, gehen Sie zu Preferences -> Settings - Default/User.Aber wie einige Kommentare unten zeigen, können syntaxspezifische Einstellungen es auf die von Ihnen gewä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 öffnen Ruby.sublime-settings

Speichern Sie diese Einstellungen:

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

Wiederholen Sie dies für alle anderen Syntaxtypen, indem Sie eine Datei dieses Typs öffnen und zu den Einstellungen zurückkehren, um die richtige Einstellungsdatei für diese Syntax zu öffnen.

Ich habe dies so bearbeitet, dass es die Zeile "detect_indentation" gemäß den Anforderungen in Kommentaren enthält;Ich habe zuvor den Standard / Benutzer verwendet, um meine Tabulatorgröße festzulegen, und habe die Tabulatorerkennung nicht benötigt, aber ob das an der globalen Konfiguration liegt oder daran, dass ich selten Dateien mit Tabs geöffnet habe, weiß ich nicht.

Ein Neustart sollte nicht erforderlich sein, obwohl dies in einigen Fällen möglich ist.

Andere Tipps

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

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

Sie können dies auch mit dem Textlink in der unteren Balken des sublime Textes 2 (auf der rechten Seite) tun, der standardmäßig "Registerkarte Größe 4" anspricht, klicken Sie auf das, und ein Fenster wird mit den Optionen angezeigt, um die Tabulatorgröße festzulegenVon 1 Speicherplatz bis zu 8 Räume und enthält Optionen, um Registerkarten in Räume und Leerzeichen in Registerkarten umzuwandeln.

sieht so aus:

Registerkarte Optionen im sublime Text 2

Kann ich vorschlagen Editorkonfigurieren?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.


Hier ist was mein eigenes .editorconfig sieht so 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

Ich benutze dummes InDent Paket.

Install Package -> Stupid Indent

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

Einstellungen kopieren (von Ruby-teil) hinein. generasacodicetagpre.

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

Ich habe meine umbenannt Ruby on Rails.sublime-settings datei an Ruby.sublime-settings.Endlich haben Zwei Leerzeichen-Tabs funktioniert!Ich ging voran und stellte die gleichen Einstellungen ein Ruby on Rails.sublime-settings auch, nur um sicherzugehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top