如何从命令行使用 VSCode 的格式化程序?

Posted

技术标签:

【中文标题】如何从命令行使用 VSCode 的格式化程序?【英文标题】:How to use VSCode's formatter from the command line? 【发布时间】:2021-09-07 06:17:10 【问题描述】:

我的团队中有人使用 vim,但我们其他人使用 VSCode 的默认格式化程序(即vscode.typescript-language-features)。我想添加一个 git precommit 钩子或在不打开应用程序的情况下调用格式化程序的东西。

另见:

Possible to invoke a VSCode extension command from command line?

【问题讨论】:

我们为此使用了一个名为 Husky 的工具。 哦,谢谢你 我发布了一个带有示例的答案,希望对您有所帮助。编码愉快! 【参考方案1】:

有一个很棒的 git hooks 工具叫做Husky,它的文档可以在here找到。

这是一个在 package.json 文件中的示例,每当执行 git pre-commit 时,该文件使用 pretty-quick 来执行 prettier。

"husky": 
    "hooks": 
      "pre-commit": "pretty-quick --staged"
    
  ,
....

我发现这种方法比在每次保存文件时都运行 prettier 要好得多。

【讨论】:

你知道如何使用 vscode 的默认格式化程序而不是 prettier 进行设置吗? 我不这样做,但是我建议使用 prettier,因为您可以为每个项目配置不同的规则。虽然我假设 VS-Code 的默认格式化程序对相同类型的项目使用全局格式。【参考方案2】:

截至 2021 年 7 月,vscode 似乎没有提供任何在应用程序之外运行其格式化程序的方法

【讨论】:

以上是关于如何从命令行使用 VSCode 的格式化程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行格式化常见的 lisp 代码(包括换行符)?

如何从 VSCode 中的“保存格式”中排除文件扩展名和语言?

如何防止VSCode自动格式删除json文件末尾的新行?

VSCode基本使用

小记事如何设置vscode代码格式化时不要自动换行

小记事如何设置vscode代码格式化时不要自动换行