如何更改 VisualStudio 代码中的格式设置选项?

我知道在 Visual Studio Code 中可以使用 Ctrl + F/Cmd + F格式化代码,但是如何更改每种语言的格式化选项?

例如,在 VisualStudio2013中,我可以为 CSS 选择压缩模式。

是否有另一个隐藏的 JSON 文件来做到这一点?

218552 次浏览

编辑:

现在支持 (截至2019年)。请参阅 下面是萨贾德 · 萨德里的回答了解说明。

不,当前不支持 (二零一五年)

我刚刚在 Market Place 中找到了这个名为 美化的扩展,是的,它是另一个配置设置文件. :)

在 VisualStudio 代码中美化 javascript、 JSON、 CSS、 Sass 和 HTML。

VS Code 在内部使用 js-beautiful,但是它缺乏这样的能力 修改要使用的样式。此扩展名启用运行 在 VS 代码中美化,并尊重 打开文件的路径树来加载代码样式 (美化选择)或 F1美化文件。

有关. jsBeautifyrc 中的设置的帮助,请参见 Settings.md

下面是 GitHub 存储库: https://github.com/HookyQR/VSCodeBeautify

一个适合我的解决方案(2017年7月)是利用 埃斯林特。众所周知,您可以以多种方式使用这个 linter,全局的或者局部的。我使用它本地和谷歌风格指南。他们的方法是这样的..。

  • cd to your working directory
  • npm init
  • npm install --save-dev eslint
  • node_modules/.bin/eslint --init
  • I use google style and json config file

现在你会有一个 ABc0文件作为你工作目录的根目录。您可以打开该文件,并根据您的意愿使用 埃斯林特规则进行修改。下一个 cmd+,打开 vscode系统首选项。在搜索栏中键入 eslint并查找 "eslint.autoFixOnSave": false。复制设置并粘贴到用户设置文件中,并将 false更改为 true。希望这可以帮助有人利用 VScode

您可以从“设置”中进行一些更改。例如,javascript 规则以“ javascript.format”开头。但是对于高级格式控件,仍然需要使用一些扩展。

Format 代码命令的规则设置

2022年最新情况

解决方案 A:

Ctrl + Shift + P

然后输入 Format Document With...

在列表的末尾单击 Configure Default Formatter...

现在你可以从列表中选择你最喜欢的美容师了。

解决方案 B:

进入 file -> preferences -> settings搜索 format, 在左边,点击 Text Editor,右边的第一个项目是 Editor: Default Formatter,从下拉菜单中你可以选择你之前安装的任何文档格式化程序。

如果我们现在谈论的是 VisualStudio 代码,你的 settings.json中的 设置默认格式化程序:

  // Defines a default formatter which takes precedence over all other formatter settings.
// Must be the identifier of an extension contributing a formatter.
"editor.defaultFormatter": null,

指向任何已安装扩展的标识符,即。

"editor.defaultFormatter": "esbenp.prettier-vscode"

你也可以这样做 < em > 特定格式:

"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[sass]": {
"editor.defaultFormatter": "michelemelluso.code-beautifier"
},

还有 看这里


你也可以在键盘快捷键(keybindings.json)中使用 为不同的格式化程序分配其他键。默认情况下,它会显示:

{
"key": "shift+alt+f",
"command": "editor.action.formatDocument",
"when": "editorHasDocumentFormattingProvider && editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly"
}

最后,如果您决定使用 Prettier 插件和 prettier.rc,并且希望例如对 html、 scss、 json 进行不同的缩进..。

{
"semi": true,
"singleQuote": false,
"trailingComma": "none",
"useTabs": false,


"overrides": [
{
"files": "*.component.html",
"options": {
"parser": "angular",
"tabWidth": 4
}
},
{
"files": "*.scss",
"options": {
"parser": "scss",
"tabWidth": 2
}
},
{
"files": ["*.json", ".prettierrc"],
"options": {
"parser": "json",
"tabWidth": 4
}
}
]
}

要更改特定的 C # (OmniSharp)格式设置,可以使用 json 文件:
用户: ~/.omnisharp/omnisharp.json%USERPROFILE%\.omnisharp\omnisharp.json
工作区: OmniSharp 指向的工作目录中的 omnisharp.json文件。

例如:

{
"FormattingOptions": {
"NewLinesForBracesInMethods": false,
"NewLinesForBracesInProperties": false,
"NewLinesForBracesInAccessors": false,
"NewLinesForBracesInAnonymousMethods": false,
"NewLinesForBracesInControlBlocks": false,
"NewLinesForBracesInObjectCollectionArrayInitializers": false,
"NewLinesForBracesInLambdaExpressionBody": false
}
}

关于这篇文章的细节 | Json 模式(它已经在 vscode 中了,只需要 CTRL + SPACE 就可以了)

其他语言扩展可能有类似的文件来设置它。

我刚才也遇到了同样的事。我在“设置”中设置了更漂亮的默认格式化程序,它又开始工作了。我的默认格式化程序是 无效。

设置 VSCODE 默认格式化程序

文件-> 首选项-> 设置(适用于 Windows) 代码-> 首选项-> 设置(对于 Mac)

搜索“ Default Formatter”,在下拉列表中,将显示 esbenp.pretty tier-vscode。

VSCODE Editor Option