如何确定VS Code使用哪种格式化程序?

时间:2018-04-03 23:21:43

标签: visual-studio-code vscode-extensions vscode-settings

如果您安装了多个扩展程序,如何确定文档上运行的格式化程序?

例如,我有几个可以格式化HTML的HTML扩展,但我不确定哪一个实际上是格式化,或者是多个。我甚至不确定哪些扩展可能真的有助于格式化。最近HTML和CSS中的自动格式化改变了他们以我不关心的方式进行格式化的方式,我想知道哪个扩展程序正在执行此操作,因此我可以更改配置或禁用扩展。目前我有80-90个扩展,所以逐个进行是一个非常及时的过程,如果有一个程序化的方法来确定这个,我想远离它。似乎扩展必须注册格式化服务,以便他们可以进行自动格式化,但我不确定是否有办法调试,挂钩或查看它们。

3 个答案:

答案 0 :(得分:3)

除了Gama11给出的答案 您可以在给定路径下进入settings.json

C:\Users\sameer\AppData\Roaming\Code\User\settings.json

注意:您的“用户”目录可能不同

如您所见,我正在为我的 "prettier" 文件使用html格式化程序,

Formatter configured for HTML files in settings.json

如果已配置,您还可以找到用于其他扩展名的格式化程序。

答案 1 :(得分:3)

https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode

ctrl-shift-p > search "open json"

添加

{
    "editor.defaultFormatter": null,
    "[javascriptreact]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
}

答案 2 :(得分:2)

Starting with the 1.33 release (March 2019),尝试对已注册了多个格式化程序的文件进行格式化,结果显示在弹出窗口中,如下所示:

请注意,如果格式化是通过“保存时格式化”或“粘贴时格式化”隐式发生的,则通知为“无声”,这意味着您需要单击右下角的铃铛以显示它:

然后,Configure...菜单列出了当前语言可用的所有格式化程序。可以选择其中之一作为Format DocumentFormat Selection的默认格式化程序:

在此处选择实例“ Prettier”会导致将其添加到全局settings.json

"[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
}

还有两个用于使用特定格式化程序格式化文件的新命令Format Document With...Format Selection With...。这对于使用未设置为默认格式化程序的格式化程序格式化特定文件很有用。前者也可以从上下文菜单中获得: