Lorsque vous utilisez la Format Code
commande dans Visual Studio Code, elle ne respecte pas mes paramètres de retrait ( "editor.tabSize": 2
). Il utilise à la place une taille d'onglet de 4. Des idées pourquoi cela se produit?
Merci!
Lorsque vous utilisez la Format Code
commande dans Visual Studio Code, elle ne respecte pas mes paramètres de retrait ( "editor.tabSize": 2
). Il utilise à la place une taille d'onglet de 4. Des idées pourquoi cela se produit?
Merci!
Réponses:
Le nombre d'espaces à utiliser pour le formatage provient d'un emplacement différent. J'utilise la version 1.0 et c'est ce que j'ai fait pour le réparer (je suppose que vous utilisez des espaces au lieu des 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 que vous souhaitez que vos fichiers soient indentés.
La prochaine fois que vous formatez un fichier, vous devriez pouvoir obtenir l'espacement que vous avez configuré.
JS-CSS-HTML
plugin. Dans ce cas, appuyez sur F1
et choisissez le formateur et définissez votre indentation ici. Il semble remplacer toutes les options évoquées ci-dessus.
Visual Studio Code détecte l'indentation actuelle par défaut et l'utilise - en ignorant le .editorconfig
Définissez é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 .editorconfig
fichier 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
Il indent_size
est nécessaire de modifier ici car il semble qu'il remplacera tout ce qui se trouve dans votre .vscode
espace de travail ou dans les paramètres utilisateur.
.editorconfig
fichier de mon dossier personnel. D'une manière ou d'une autre, cela fait que VSCode ignore tous les paramètres spécifiques à Workspace. Très ennuyant.
Si vous utilisez un plugin (dans mon cas Vetur, pour vue.js), ceux-ci peuvent définir leurs propres paramètres de formatage d'onglet.
Ouvrez vos paramètres, recherchez «format» et parcourez les paramètres de plug-in pertinents susceptibles de remplacer le format de l'onglet global. Cela a fonctionné pour moi; une fois que j'ai mis à jour les paramètres de l'onglet Vetur pour qu'ils correspondent à mes préférences (onglets de 4 tailles dans mon cas), le formatage des documents .vue a commencé à fonctionner correctement:
SCSS Formatter
plugin utilise ses propres paramètres par exemple, il faut donc aller à Settings > Extensions > SCSS Formatter > Use Tabs
pour le forcer à utiliser des onglets par exemple.
Pour moi, ce problème a été causé par l'utilisation du prettier
plugin 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. Cela aurait probablement aussi pu être corrigé en s'appuyant sur la plus jolie configuration.
Très probablement, vous avez installé une extension de formatage, par exemple JS-CSS-HTML Formatter .
Si tel est le cas, ouvrez simplement la palette de commandes, tapez "Formatter" et sélectionnez Formatter Config
. Modifiez ensuite la valeur de "indent_size"
comme vous le souhaitez.
PS N'oubliez pas de redémarrer Visual Studio Code après l'édition :)
Si vous êtes venu ici depuis Google parce que l'onglet n'est pas en retrait, cela peut également être dû au fait que "Tab Moves Focus" est activé. Il est en bas à droite, et si vous avez un moniteur assez grand, vous risquez de le manquer malgré sa mise en évidence.
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é, alors encore une fois, je ne sais pas pourquoi un éditeur de code voudrait jouer avec quelque chose comme l'indentation.
J'ai eu un problème similaire - peu importe ce que j'ai fait, je ne pouvais pas faire en sorte que la taille de l'onglet reste à 2, même si c'est dans mes paramètres utilisateur - qui a fini par être dû à l' extension EditorConfig . Il recherche un .editorconfig
fichier 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 continuera à regarder les répertoires parents jusqu'à ce qu'il en trouve un.
Il s'avère que j'avais un .editorconfig
dans un répertoire parent du répertoire dans lequel j'ai mis tous mes nouveaux projets de code, et il a spécifié un tabSize de 4. La suppression de ce fichier a résolu mon problème.
J'ai parfois ce même problème. VSCode perdra soudainement la tête et ignorera complètement tout paramètre d'indentation que je lui dis, même s'il a mis en retrait le même fichier toute la journée.
J'ai editor.tabSize
mis à 2 (ainsi que editor.formatOnSave
sur true). Lorsque VSCode gâche un fichier, j'utilise les options en bas de l'éditeur pour changer le type et la taille d'indentation, en espérant que quelque chose fonctionnera, mais VSCode insiste pour utiliser réellement une taille d'indentation de 4.
Le correctif? Redémarrez VSCode. Il devrait revenir avec le statut de retrait indiquant quelque chose de mal (dans mon cas, 4). Pour moi, j'ai dû changer le paramètre, puis enregistrer pour qu'il effectue réellement le changement, mais c'est probablement à cause de mon editor.formatOnSave
paramètre.
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 indentation très étrange dans l'objet, même si j'ai travaillé dans ce fichier pendant un certain temps et que cela a été très bien.
Je pense que vscode utilise autopep8 pour formater .py
par défaut.
"PEP 8 - Guide de style pour le code Python | Python.org"
Selon ce site Web, ce qui suit peut expliquer pourquoi vscode utilise toujours 4 espaces.
Utilisez 4 espaces par niveau d'indentation.