J'écris des fichiers TypeScript
et HTML
, et les onglets sont convertis en espaces.
J'ai essayé de changer les paramètres et de redémarrer, mais rien n'a changé.
Les paramètres que j'ai configurés:
// Place your settings in this file to overwrite default and user settings.
{
"editor.insertSpaces": false
}
J'ai essayé de le rechercher sur Google et j'ai constaté que j'avais fait le bon choix en ajoutant "editor.insertSpaces": false
, mais cela n'a pas modifié mes préférences.
EDIT 1:
J'ai trouvé que les onglets fonctionnent dans les fichiers .html
, mais pas dans les fichiers .ts
.
Il existe 3 options dans .vscode/settings.json:
// The number of spaces a tab is equal to.
"editor.tabSize": 4,
// Insert spaces when pressing Tab.
"editor.insertSpaces": true,
// When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.
"editor.detectIndentation": true
editor.detectIndentation
le détecte dans votre fichier, vous devez le désactiver. Si cela n'a pas aidé, vérifiez que vous n'avez aucun paramètre avec une priorité plus élevée. Par exemple, lorsque vous l'enregistrez dans les paramètres de l'utilisateur, il peut être remplacé par les paramètres de l'espace de travail qui se trouvent dans votre dossier de projet.
Mise à jour:
Vous pouvez simplement ouvrir File
-> Preferences
-> Settings
ou utiliser le raccourci:
CTRL+, PC (Windows, Linux)
⌘+, Mac
Mise à jour:
Maintenant, vous avez la possibilité de modifier ces options manuellement.
Cliquez sur le sélecteur . Espaces: 4 en bas à droite de l'éditeur:
Lorsque vous voulez convertir un fichier ws existant en onglet, installez une extension à partir de Marketplace
EDIT:
Pour convertir une indentation existante d'espaces en tabulations, appuyez sur Ctrl+Shift+P
et tapez:
>Convert indentation to Tabs
Cela modifiera l'indentation de votre document en fonction des paramètres définis en onglets.
Ctrl + Maj + P puis "Convertir l'indentation en onglets"
File
➤ Preferences
Settings
ou appuyez simplement sur Ctrl + ,
editor.insertSpaces
F1
, tapez reload window
, appuyez sur Enter
.)C'est probablement à cause du plugin installé Formatter JS-CSS-HTML
(vous pouvez le vérifier en allant à File
➤ Preferences
➤ Extensions
ou en appuyant simplement sur Ctrl + Shift + X
, dans le Activé liste que vous trouverez Formatter JS-CSS-HTML )
Si oui, vous pouvez modifier ce plugin:
F1
➤ tapez Formatter config
➤ appuyez sur Enter
(le fichier formatter.json
sera ouvert).Modifiez le fichier comme ceci:
4| "indent_size": 1,
5| "indent_char": "\t"
——|
24| "indent_size": 1,
25| "indentCharacter": "\t",
26| "indent_char": "\t",
——|
34| "indent_size": 1,
35| "indent_char": "\t",
36| "indent_character": "\t"
Enregistrez-le (allez dans File
➤ Save
ou appuyez simplement sur Ctrl + S
)
F1
, tapez reload window
, appuyez sur Enter
.)Dans mon cas, le problème était l'extension JS-CSS-HTML Formatter installée après la mise à jour de janvier. La propriété par défaut indent_char est space. Je l'ai désinstallé et le comportement étrange s'est arrêté.
Les réglages ci-dessous fonctionnent bien pour moi,
"editor.insertSpaces": false,
"editor.formatOnSave": true, // only if you want auto fomattting on saving the file
"editor.detectIndentation": false
Les paramètres ci-dessus seront reflétés et appliqués à tous les fichiers. Vous n'avez pas besoin d'indenter/formater chaque fichier manuellement.
Vérifiez ceci à partir du paramètre vscode officiel:
// Controls whether `editor.tabSize#` and `#editor.insertSpaces` will be automatically detected when a file is opened based on the file contents.
"editor.detectIndentation": true,
// The number of spaces a tab is equal to. This setting is overridden based on the file contents when `editor.detectIndentation` is on.
"editor.tabSize": 4,
// Configure editor settings to be overridden for [html] language.
"[html]": {
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.autoIndent": false
}