Réponses:
Voici une astuce intéressante dans Sublime Text 2 ou 3 pour convertir votre espacement d'indentation dans un document.
TL; DR:
Conversion de 2 espaces à 4 espaces:
Assurez-vous que la largeur de tabulation est définie sur 2. Convertissez votre indentation à 2 espaces en tabulations, passez à la largeur de tabulation 4, puis reconvertissez-la en espaces.
La description détaillée:
Aller à:
View -> Indentation
Il devrait se lire:
Indent using spaces [x]
Tab width: 2
Sélectionner:
Convert Indentation to Tabs
Sélectionnez ensuite:
Tab width: 4
Convert Indentation to Spaces
Terminé.
En fait, j'ai trouvé qu'il était préférable pour ma raison d'avoir des préférences utilisateur définies comme suit:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
Le detect_indentation: false
est particulièrement important, car il oblige Sublime à honorer ces paramètres dans chaque fichier, par opposition aux View -> Indentation
paramètres.
Si vous voulez avoir de la fantaisie, vous pouvez également définir un raccourci clavier pour ré-indenter automatiquement votre code (YMMV) en collant ce qui suit dans Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
et pour visualiser l'espace blanc:
"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],
J'ai trouvé, dans mon esprit, une solution plus simple que Magne:
Sur mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
Sur les fenêtres ou autres plates-formes, changez cmd+f
et alt+enter
avec ce que vous find
et les select all
raccourcis clavier sont.
Remarque: cette méthode est sujette à des "erreurs" si vous avez plus d'un espace dans votre code. C'est donc moins sûr que la méthode de Magne, mais c'est plus rapide (du moins pour moi).
RubyFormat
vous pouvez simplement définir la taille d'onglet souhaitée, puis faire un reformatage du code. Dans le cas de RubyFormat
ce serait cmd+shift+R
.
Alors que la plupart des suggestions fonctionnent lors de la conversion de 2 -> 4 espaces. J'ai rencontré des problèmes lors de la conversion de 4 -> 2.
Voici ce que j'ai fini par utiliser:
Sublime Text 3/Packages/User/to-2.sublime-macro
[
{ "args": null, "command": "select_all" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 1 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" }
]
Si vous trouvez que la recherche et le remplacement sont plus rapides à utiliser, vous pouvez utiliser un remplacement regex comme celui-ci:
Find (regex): (^|\G) {2}
(Au lieu de "{2}", <space>{2}
vous pouvez simplement écrire deux espaces. Utilisez-le ici pour plus de clarté.)
Remplacez par 4 espaces, ou ce que vous voulez, comme \t
.
Vous devez ajouter ce code à vos raccourcis clavier personnalisés:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
en appuyant sur ctrl + f12, il réindentera votre fichier à une taille d'onglet de 4. si vous voulez une taille d'onglet différente, vous changez simplement le numéro de "valeur". Le format est un simple json.
{ "keys": ["ctrl+f10"], "command": "set_setting", "args": {"setting": "translate_tabs_to_spaces", "value": 2} }, { "keys": ["ctrl+f11"], "command": "set_setting", "args": {"setting": "tab_size", "value": 2} }, { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },
La chose la plus simple que j'ai faite était,
changé mon retrait en onglets
et cela a résolu mon problème.
Vous pouvez faire la même chose,
aux espaces
ainsi que par votre besoin.
Mentionné l'instantané de la même chose.
Récemment, j'ai rencontré un problème similaire. J'utilisais l'éditeur sublime. ce n'est pas un problème avec le code mais avec l'éditeur.
La modification ci-dessous des paramètres de préférence a fonctionné pour moi.
Menu Texte sublime -> Préférences -> Paramètres: spécifiques à la syntaxe :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}