如何在VS Code中保存时格式化代码


184

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

我知道以下选项,但是它们都不足够好:

  • 手动格式化 Shift + Alt + F
  • 输入格式 "editor.formatOnType": true
    • 当您按Enter键时,它将格式化行。不幸的是,当您单击另一行或按向上/向下箭头时,它保持未格式化的状态。
  • 使用现有的扩展名
    • 我想这一个,但它似乎没有工作太清楚了没有。
  • 使用美化 "beautify.onSave": true
    • 它不适用于TypeScript
  • 编写自定义扩展
    • 如果要处理自动保存并正确构建,这很棘手。

Answers:


273

截至2016年9月(VSCode 1.6),现已正式支持

将以下内容添加到您的settings.json文件中:

"editor.formatOnSave": true

5
有什么办法可以排除一些文件?即我只想格式化.js文件而不是.html文件。
gabrielAnzaldo

VS Code中的@ gabodev77prettier对此具有选项(例如,prettier.javascriptEnable,prettier.cssEnable ...),但不适用于HTML。
Freewalker

7
可以在自动保存上格式化吗?仅当我手动按下Cmd + S时,formatOnSave才对我有用。
Freewalker

@gabrielAnzaldo有关如何排除某些文件/文件类型的信息,请参见此问题:stackoverflow.com/questions/44831313/…–
Gama11

@LukeWilliams目前尚不可能,对此有功能要求:github.com/microsoft/vscode/issues/45997
Gama11


33

如果您只想使用Javascript源自动格式化保存,请将其添加到Users Setting(按Cmd,Ctrl,):

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

我的版本,我开始寻找“formatOnSave”,只是必须点击在VS码设置UI复选框
阿金焕

24

无需再添加命令。对于那些不熟悉Visual Studio Code并正在寻找一种简单的方法来保存代码的人,请按照以下步骤操作。

  1. [Cmd+,]在Mac中按或使用以下屏幕截图打开“设置” 。

VS代码-打开设置命令映像

  1. 在搜索框中输入“ 格式 ”,然后启用“ 保存时格式化 ”选项。

在此处输入图片说明

大功告成 谢谢。


4

对于MAC用户,将此行添加到默认设置中

文件路径为:/ Users / USER_NAME / Library / Application Support / Code / User / settings.json

“ tslint.autoFixOnSave”:是

该文件的示例为:

{
    "window.zoomLevel": 0,
    "workbench.iconTheme": "vscode-icons",
    "typescript.check.tscVersion": false,
    "vsicons.projectDetection.disableDetect": true,
    "typescript.updateImportsOnFileMove.enabled": "always",
    "eslint.autoFixOnSave": true,
    "tslint.autoFixOnSave": true
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.