当我在Visual Studio code中保存文件时,我想使用内置格式化器自动格式化TypeScript代码。

我知道下面的选项,但没有一个足够好:

格式手动Shift + Alt + F 格式输入“编辑器”。formatOnType”:真正的 当你按回车键时,它会格式化行。不幸的是,当您用鼠标单击另一行或按上下箭头时,它会保持未格式化。 使用现有扩展 我试过这个方法,但效果不太好。 使用美化“美化”。onSave”:真正的 它不适用于TypeScript 编写自定义扩展 如果你想正确地处理自动保存和构建,这是很棘手的。


当前回答

eslint:

"editor.codeActionsOnSave": { "source.fixAll.eslint": true }

其他回答

2016年9月(VSCode 1.6),现在正式支持。

将以下内容添加到设置中。json文件:

"editor.formatOnSave": true

如果你想在保存Javascript源代码时自动格式化,请将此添加到用户设置中(按CmdShiftP或CtrlShiftP,然后键入打开设置(JSON)来打开设置。json文件)

"[javascript]": { "editor.formatOnSave": true }

如果你用pretty和这条线

“编辑器。formatOnSave”:真正的

在保存时不能格式化,您可能需要在settings.json中添加另一个命令

“editor.defaultFormatter”: “esbenp.prettier-vscode”,

避免冲突的最好方法是为每种语言定义单独的格式化器,例如,如果我使用Rust和Typescript,我想分别使用扩展Rust- analyzer和pretty来格式化代码,因此在我的.vscode/settings.json中:

{
  "editor.defaultFormatter": null,
  "[rust]": {
    "editor.defaultFormatter": "rust-lang.rust-analyzer",
    "editor.formatOnSave": true
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "editor.formatOnSave": true
  }
}

请记住,必须首先安装Prettier和rust-analyzer扩展。

对我来说,formatOnSave不起作用,因为我已经安装了更漂亮的格式器,还没有在内置和更漂亮的默认格式器之间做出选择。

为了触发选择对话框,我必须在json文件上按Alt + Shift + f。