Je n'ai pas encore été capable de comprendre cela. Atom semble utiliser des espaces comme mode d'indentation par défaut. Je préfère cependant avoir des onglets. Sublime Text a une fonctionnalité intégrée pour la commutation et la conversion de l'indentation.
Quelqu'un a découvert comment changer le mode d'indentation d'Atom?
Quelques captures d'écran de Sublime Text:
Voir Onglets programmables et Longueur de l'onglet sous Paramètres> Paramètres de l'éditeur.
Pour basculer rapidement entre les modes d'indentation, vous pouvez utiliser Ctrl-Maj-P et rechercher Éditeur: Basculer les onglets programmables.
Aller dans Fichier -> Paramètres
Il y a 3 options différentes ici.
J'ai fait des tests et suis arrivé à ces conclusions sur ce que chacun fait.
Soft Tabs - Activer cela signifie qu'il utilisera des espaces par défaut (c'est-à-dire pour les nouveaux fichiers).
Longueur de la tabulation - Quelle est la largeur du caractère de tabulation ou combien d'espaces sont insérés dans une tabulation si les tabulations sont activées.
Type d'onglet - Ceci détermine le mode d'indentation à utiliser pour les fichiers existants. Si vous le définissez sur auto, il utilisera l'indentation existante (tabulations ou espaces). Si vous le définissez sur soft ou hard, il forcera les espaces ou les tabulations indépendamment de l'indentation existante. Le mieux est de laisser ceci en auto.
Note: Soft = espaces, dur = onglet
Ajoutez ceci à votre ~/.atom/config.cson
editor:
tabLength: 4
Ajout de @ Manbroski répondre ici qui a fonctionné pour moi:
essayez Ctrl-Shift-P
Editor: Toggle Soft Tabs
En retard pour le parti, mais une manière simple de le faire projet par projet consiste à ajouter un fichier . Editorconfig à la racine du projet . Vous évite d'avoir à modifier les paramètres d'Atom lorsque vous travaillez sur plusieurs projets simultanément.
Voici un exemple d'une configuration très basique que j'utilise actuellement. Fonctionne pour Atom, ST, etc ...
# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true
# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2
# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2
Tab Control donne le contrôle de Nice de manière similaire à celle décrite dans votre question.
Pour les développeurs JavaScript, Nice est également ESLint Tab Length pour l’utilisation de la configuration ESLint.
Ou si vous utilisez un .editorconfig
pour définir des règles d'indentation spécifiques à un projet, il existe EditorConfig
Ceci est intégré au noyau: Voir Settings ⇒ Tab Type
et choisissez auto
:
Lorsqu'il est défini sur "auto", l'éditeur détecte automatiquement le type d'onglet en fonction du contenu du tampon (il utilise le premier espace blanc sur une ligne ne contenant pas de commentaire), ou utilise la valeur du paramètre de configuration Soft Tabs si la détection échoue.
Vous pouvez également consulter le package Indentation de détection automatique . De la docs:
Détecter automatiquement l'indentation des fichiers ouverts. Il examine chaque fichier ouvert et définit les paramètres d'onglet spécifiques à chaque fichier (onglets durs/logiciels, longueur d'onglets) en fonction du contenu du fichier au lieu de toujours utiliser les valeurs par défaut de l'éditeur.
Vous pourriez avoir atom configuré pour utiliser 4 espaces pour les onglets mais ouvrir un projet Rails dont la valeur par défaut est 2. Sans ce package, vous devez modifier globalement vos paramètres de tabulation ou vous risquez d'avoir un espacement incohérent incohérent dans vos fichiers.
Si vous utilisez Babel, vous voudrez peut-être également mettre à jour votre package "Langue Babel". Pour moi, même si la longueur de la tabulation était réglée sur 2 dans les paramètres principaux de mon éditeur, le paramètre Même de la configuration de Langue Babel était remplacé par 4.
Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length
Assurez-vous de disposer de la grammaire appropriée, à savoir "Grammaire Javascript Babel ES6", "Grammaire langage-babel-extension" et "Expression régulière". Vous voulez probablement tous les mettre à jour pour être cohérent.
Je viens d'avoir le même problème, et aucune des suggestions ci-dessus n'a fonctionné. Enfin, j'ai essayé de décocher "Onglets logiciels Atomic" dans le menu Paramètres de l'éditeur, ce qui a fonctionné.
Si les paramètres d'indentation globale des tabulations/espaces ne correspondent plus à vos besoins (par exemple, vous vous retrouvez face à des bases de code héritées avec divers formats d'indentation, et vous devez basculer rapidement entre eux, et si la détection automatique ne fonctionne pas), vous pouvez essayer l'onglet -control plugin, qui duplique en quelque sorte la fonctionnalité du menu de votre capture d'écran.
Si vous utilisez la version 1.21.1:
Maintenant, fermez simplement le volet d’onglet actif et vous avez terminé.
Lorsque Atom auto-indent-detection s'est totalement trompé et a refusé de me laisser taper un caractère de tabulation littéral, j'ai finalement trouvé le extension 'Force-Tab' - qui m'a rendu contrôle. Je voulais garder Shift-Tab pour faire une pause, alors réglez ctrl-tab pour insérer un onglet dur. Dans mon clavier, j'ai ajouté:
'atom-text-editor': 'ctrl-tab': 'force-tab:insert-actual-tab'