VS Code 中 codeActionsOnSave 和 formatOnSave 的区别

Eri*_*rel 19 typescript eslint visual-studio-code vscode-settings prettier

较新版本的 VS 代码包括一个新codeActionsOnSave选项。例如,建议设置 Eslint。但是,我不明白与以前存在的formatOnSave选项的区别,也不理解它们与defaultFormater选项、Prettier 和 ESLint 等插件以及 VS Code 默认行为的关系。

“修复”似乎更完整,但禁用“格式”并不总是在保存时格式化我的代码。我也倾向于在 Eslint 和 Prettier 格式之间存在冲突......

由于对 VS Code 缺乏了解,我基本上不清楚如何设置正确的 VS Code 格式配置,该配置尊重项目设置(TypeScript、Eslint、Prettier 等,可以根据项目激活/停用)设置。

Von*_*onC 13

我正在尝试让我的 VS Code 也正确运行 ESLint 和 Prettier。

然后VSCode 1.44(2020 年 3 月)将突出codeActionsOnSave和之间的另一个区别formatOnSave

editor.codeActionsOnSave 的显式排序

您现在可以设置editor.codeActionsOnSave要按顺序执行的代码操作数组。您可以使用它来保证特定的代码操作始终在可能与其冲突的另一个代码操作之前或之后运行

下面editor.codeActionsOnSave将始终运行Organize Imports,然后Fix All一旦组织进口饰面:

"editor.codeActionsOnSave": [
    "source.organizeImports",
    "source.fixAll"
]
Run Code Online (Sandbox Code Playgroud)

  • 在哪里可以找到“codeActionsOnSave”中使用的命令名称?这两个操作的名称(由键盘快捷键配置器报告)是“editor.action.organizeImports”和“editor.action.fixAll”,它们与“source.*”不同。如果我们想添加一个不同的命令,我们如何知道它应该被称为什么? (6认同)