323

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

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

  • 手动格式化Shift + Alt + F
  • 类型格式"editor.formatOnType": true
    • 当您按 Enter 时,它会格式化该行。不幸的是,当您单击另一行或按向上/向下箭头时,它会保持未格式化。
  • 使用现有的扩展
    • 我试过这个但它似乎不太好用。
  • 使用美化"beautify.onSave": true
    • 它不适用于 TypeScript
  • 编写自定义扩展
    • 如果您想正确处理自动保存和构建,这很棘手。
4

8 回答 8

494

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

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

"editor.formatOnSave": true
于 2016-10-11T08:39:57.920 回答
118

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

  1. [Cmd+,]通过在 Mac 中按或使用下面的屏幕截图打开设置。

VS Code - 打开设置命令图片

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

在此处输入图像描述

你完成了。谢谢你。

于 2019-02-13T07:54:24.607 回答
82

如果您想仅使用 Javascript 源在保存时自动格式化,请将其添加到Users Setting(按CmdShiftPCtrlShiftP然后键入Open Settings (JSON)以打开settings.json文件)

"[javascript]": { "editor.formatOnSave": true }
于 2018-05-31T05:36:09.530 回答
9

对于eslint

"editor.codeActionsOnSave": { "source.fixAll.eslint": true }
于 2020-12-11T23:12:05.853 回答
6

对于您可以使用的任何语言的 neet 格式Prettier - code formatter。应用此之后,您可以格式化代码Alt + Shift + f 在此处输入图像描述

于 2021-05-02T07:08:29.557 回答
5

对于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
}
于 2018-09-27T07:39:18.263 回答
0

经过数小时的斗争......以下步骤奏效了。
完整的细节如下。

  1. 安装这个扩展

https://marketplace.visualstudio.com/items?itemName=pucelle.run-on-save

  1. 下面的 json 添加到下面的文件中:

文件:

<your-project-directory>\.vscode\settings.json
    OR
%UserProfile%\AppData\Roaming\Code\User\settings.json

JSON:

注意:确保在下面的块之前和之后使用逗号。

    "files.autoSave": "afterDelay",
    "files.autoSaveDelay": 1000,
    "runOnSave.statusMessageTimeout": 3000,
    "runOnSave.commands": [
        {
            "match": ".*\\.*",
            "command": "editor.action.formatDocument",
            "runIn": "vscode"
        }
    ],

现在,当代码更改时,1 秒后,它会自动格式化并保存。

于 2022-01-14T10:40:53.777 回答
0

对我来说formatOnSave没有工作,因为我已经安装了 prettier,并且还没有在内置和 prettier 之间选择作为我的默认格式化程序。

要触发选择对话框,我必须按下Alt + Shift + f我的 json 文件。

于 2022-01-29T06:43:51.743 回答