【问题标题】:Difference between codeActionsOnSave and formatOnSave in VS CodeVS Code 中 codeActionsOnSave 和 formatOnSave 的区别
【发布时间】:2020-06-28 07:18:42
【问题描述】:

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

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

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

【问题讨论】:

  • 我正在尝试让我的 VS Code 也能正确地同时运行 ESLint 和 Prettier。我相信 formatOnSave 在我的测试中的 codeActionsOnSave 之后运行。
  • 这个线程有一些关于区别github.com/microsoft/vscode/issues/87096的良好上下文

标签: typescript visual-studio-code eslint vscode-settings prettier


【解决方案1】:

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

那么VSCode 1.44 (March 2020) 将突出codeActionsOnSave 和formatOnSave 之间的另一个区别:

editor.codeActionsOnSave 的显式排序

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

一旦组织导入完成,以下editor.codeActionsOnSave 将始终运行Organize Imports,后跟Fix All:

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

【讨论】:

猜你喜欢
  • 2022-10-02
  • 2021-11-01
  • 2022-10-25
  • 1970-01-01
  • 2021-04-04
  • 2020-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多