Question

Existe-t-il un moyen de forcer le texte sublime 2 à toujours mettre en œuvre deux espaces par onglet lorsque vous travaillez avec des fichiers Ruby?

Je sais que l'indentation peut être définie sous le view -> indentation Option de menu, mais cela ne colle pas. Chaque fois que j'ouvre un nouveau fichier et appuyez sur l'onglet, il revient à quatre espaces.

Était-ce utile?

La solution

Si vous le voulez pour tout fichiers, aller à Preferences -> Settings - Default/User. Mais comme plusieurs commentaires ci-dessous l'indiquent, les paramètres spécifiques de la syntaxe peuvent le limiter aux langues que vous choisissez.

Pour limiter cette configuration aux fichiers Ruby, ouvrez d'abord un fichier Ruby dans l'éditeur, puis allez à Preferences -> Settings - Syntax Specific. Cela devrait ouvrir une fenêtre de paramètres nommés Ruby.sublime-settings

Enregistrez ces paramètres:

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

Répétez pour tout autre type de syntaxe en ouvrant un fichier de ce type et en revenez aux préférences pour ouvrir le fichier de préférences correctes pour cette syntaxe.

Je l'ai édité pour inclure la ligne "Detect_indentation" selon les demandes dans les commentaires; J'ai précédemment utilisé le par défaut / l'utilisateur pour définir la taille de mon onglet et je n'ai pas eu besoin de la détection des onglets, mais que cela soit dû à la configuration globale ou en raison du fait que j'ai rarement ouvert des fichiers avec des onglets, je ne sais pas.

Le redémarrage ne doit pas être nécessaire, bien que dans certains cas, cela puisse être.

Autres conseils

Si vous souhaitez forcer le paramètre de l'onglet choisi, ignorer ce qui se passe probablement déjà dans le fichier, vous devriez inclure detect_indentation Dans votre configuration (vos paramètres utilisateur ou vos paramètres spécifiques de syntaxe, selon si vous le souhaitez global ou par filetype):

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

Vous pouvez également le faire avec le lien de texte dans la barre inférieure du texte sublime 2 (sur le côté droit) qui indique "Tabinet Taille 4" par défaut, cliquez sur cela et une fenêtre propose des options pour définir la taille de l'onglet à partir de 1 espace Tout le chemin jusqu'à 8 espaces et comprend des options pour convertir les onglets en espaces et espaces en onglets.

Ressemble à ça:

Tab Options in Sublime Text 2

Puis-je suggérer EditorConfig? Il y a un extension à automatiquement et appliquer le .editorconfig dossier. Ensuite, créez-en un à la racine de votre projet.

.editorconfig

[*.rb]
indent_style = tab
indent_size = 2

De cette façon, vos paramètres sont spécifiques au projet et spécifiques au fichier si vous utilisez différents styles pour chaque projet ou langue.


Voici ce que le mien .editorconfig ressemble à.

# 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

j'utilise Indentation stupide forfait.

Install Package -> Stupid Indent

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

Copier les paramètres (de Ruby partie) en.

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

J'ai suivi les réponses précédentes, notamment en ajoutant la ligne Detect_indentation, et mes onglets étaient encore cinq espaces. Ensuite, j'ai réalisé que la sélection Preferences -> Settings -> More -> Syntax Specific -> Userà partir d'un fichier rubis s'ouvrait Ruby on Rails.sublime-settings Pas pour moi Ruby.sublime-settings.

J'ai renommé mon Ruby on Rails.sublime-settings déposer Ruby.sublime-settings. Enfin, les onglets à deux espaces ont fonctionné! Je suis allé de l'avant et j'ai mis les mêmes paramètres Ruby on Rails.sublime-settings De plus, juste pour être sûr.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top