web-dev-qa-db-fra.com

Différence entre codeActionsOnSave et formatOnSave dans VS Code

Les nouvelles versions du code VS incluent de nouvelles options codeActionsOnSave. Il est recommandé de configurer Eslint par exemple. Cependant, je ne comprends pas la différence avec l'option formatOnSave précédemment existante, ni leur relation avec l'option defaultFormater, les plugins comme Prettier et ESLint, et le comportement par défaut de VS Code.

"Fix" semble plus complet, mais la désactivation du "format" ne formatera pas toujours mon code lors de la sauvegarde. J'ai aussi tendance à avoir des conflits entre le formatage Eslint et Prettier ...

Fondamentalement, je ne sais pas comment définir une configuration de formatage VS Code appropriée, qui respecte les paramètres du projet (TypeScript, Eslint, Prettier etc. qui peuvent être activés/désactivés en fonction du projet), en raison d'un manque de compréhension du code VS paramètres.

5
Eric Burel

J'essaie de faire fonctionner mon VS Code pour exécuter correctement ESLint et Prettier.

Alors VSCode 1.44 (mars 2020) mettrait en évidence une autre différence entre codeActionsOnSave et formatOnSave:

Ordre explicite pour editor.codeActionsOnSave

Vous pouvez maintenant définir editor.codeActionsOnSave à un tableau d'actions de code à exécuter dans l'ordre. Vous pouvez l'utiliser pour garantir qu'une action de code spécifique est toujours exécutée avant ou après une autre qui peut entrer en conflit avec elle

Le suivant editor.codeActionsOnSave s'exécutera toujours Organize Imports suivi par Fix All une fois l'organisation des importations terminée:

"editor.codeActionsOnSave": [
    "source.organizeImports",
    "source.fixAll"
]
1
VonC