Lorsque vous utilisez la commande Format Code
dans Visual Studio Code, les paramètres d'indentation ne sont pas respectés ("editor.tabSize": 2
). Il utilise une taille de tabulation de 4 à la place. Des idées pourquoi cela se produit?
Merci!
Le nombre d'espaces à utiliser pour le formatage provient d'un emplacement différent. J'utilise la version 1.0 et voici ce que j'ai fait pour résoudre ce problème (je suppose que vous utilisez des espaces au lieu de tabulations):
En bas de l'éditeur, à droite, cliquez sur "Espaces: #":
Ensuite, un menu apparaîtra en haut. Sélectionnez "Retrait à l'aide d'espaces":
Enfin, vous pouvez sélectionner le nombre d’espaces où vous souhaitez que vos fichiers soient mis en retrait.
La prochaine fois que vous formatez un fichier, vous devriez pouvoir obtenir l’espacement que vous avez configuré.
Visual Studio Code détecte l'indentation actuelle par défaut et l'utilise - en ignorant le .editorconfig
définir également "editor.detectIndentation" sur false
(Fichiers -> Préférences -> Paramètres)
Si la réponse de @ Maleki ne fonctionne pas pour vous, vérifiez si vous avez un fichier .editorconfig
dans votre dossier de projet.
Par exemple, la CLI angulaire en génère un avec un nouveau projet qui ressemble à ceci
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false
Changer le indent_size
ici est nécessaire car il semble que cela va écraser tout ce qui se trouve dans votre espace de travail ou vos paramètres utilisateur .vscode
.
Pour ma part, ce problème a été causé par l'utilisation du plug-in prettier
VSCode sans avoir un fichier de configuration plus joli dans l'espace de travail.
La désactivation du plugin a résolu le problème. Il aurait aussi probablement pu être corrigé en s’appuyant sur la plus jolie config.
Très probablement, vous avez une extension de formatage installée, par exemple. Formatage JS-CSS-HTML .
Si c'est le cas, ouvrez simplement la palette de commandes, tapez "Formatter" et sélectionnez Formatter Config
. Puis éditez la valeur de "indent_size"
comme bon vous semble.
P.S. N'oubliez pas de redémarrer Visual Studio Code après l'édition :)
Si vous êtes venu ici de Google parce que l'onglet n'est pas indenté, c'est peut-être aussi parce que "Tabulation déplace le focus" est activé. Il se trouve en bas à droite, et si vous avez un moniteur assez grand, vous risquez de le rater même s’il est en surbrillance.
Cliquez sur la zone verte ou sur Ctrl + M pour l’arrêter. Je ne suis pas sûr qu'il puisse être complètement désactivé, mais je ne sais pas encore pourquoi un éditeur de code voudrait jouer avec quelque chose comme l'indentation.
les paramètres ci-dessous ont résolu mon problème
"editor.detectIndentation": false,
"editor.insertSpaces": false,
"editor.tabSize": 2,
J'avais un problème similaire - peu importe ce que je faisais, je ne pouvais pas coller la taille de tabulation à 2, même si cela se trouve dans mes paramètres utilisateur - cela était dû à l'extension EditorConfig . Il recherche un fichier .editorconfig
dans votre répertoire de travail actuel et, s'il n'en trouve pas (ou celui qu'il trouve ne spécifie pas root=true
), il continue à rechercher les répertoires parent jusqu'à ce qu'il en trouve un.
Il se trouve que j'avais un .editorconfig
dans un répertoire parent du répertoire dans lequel je mettais tous mes nouveaux projets de code, et il spécifiait un tabSize de 4. Supprimer ce fichier corrigeait mon problème.
Si vous utilisez un plugin (dans mon cas, Vetur, pour vue.js), ceux-ci peuvent définir leurs propres paramètres de formatage des onglets.
Ouvrez vos paramètres, recherchez "format" et parcourez les paramètres de plug-in pertinents susceptibles de remplacer le format d'onglet global. Cela a fonctionné pour moi. une fois les paramètres de l'onglet Vetur mis à jour pour correspondre à mes préférences (onglets 4 tailles dans mon cas), le formatage des documents .vue a commencé à fonctionner correctement
J'ai parfois ce même problème. VSCode va soudainement perdre son esprit et ignorer complètement tout paramètre d'indentation que je lui dirai, même s'il a indenté le même fichier correctement toute la journée.
J'ai editor.tabSize
défini sur 2 (ainsi que editor.formatOnSave
défini sur true). Lorsque VSCode perturbe un fichier, j'utilise les options situées au bas de l'éditeur pour modifier le type et la taille de l'indentation, en espérant que quelque chose fonctionnera, mais VSCode insiste sur l'utilisation d'une taille d'indentation de 4.
Le correctif? Redémarrez le VSCode. Il devrait revenir avec le statut d'indentation montrant quelque chose qui ne va pas (dans mon cas, 4). En ce qui me concerne, j'ai dû modifier le paramètre, puis enregistrer pour le modifier, mais c'est probablement à cause de mon paramètre editor.formatOnSave
.
Je n'ai pas compris pourquoi cela se produit, mais pour moi, c'est généralement lorsque je modifie un objet imbriqué dans un fichier JS. Cela va soudainement faire une très étrange indentation à l'intérieur de l'objet, même si je travaille dans ce fichier depuis un moment et que l'indentation est parfaite.
Je pense que vscode utilise autopep8 pour formater .py
par défaut.
"PEP 8 - Guide de rédaction de Python Code | Python.org"
Selon ce site Web, ce qui suit peut expliquer pourquoi vscode utilise toujours 4 espaces.
Utilisez 4 espaces par niveau d'indentation.
Le plugin VSCode Vetur; utilisé pour les applications VueJS était prioritaire sur le réglage pour moi.
Définir vetur.format.options.tabSize sur le nombre d'espaces que je préférais le faisait fonctionner.