如何格式化Visual Studio Code项目中的所有文件?


Answers:


78

您可以使用名为“格式化文件”的扩展名。

”使用:打开命令面板(Ctrl + Shift + P)并输入“格式化文件”,为“ editor.action.formatFiles”命令创建快捷键。右键单击工作区文件夹,然后选择“格式化文件”以格式化目录中的所有文件。”

资料来源:https : //marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files


大约走到一半,然后说“ An error occurred while running Format Files: Invalid count value
亚伦·弗兰克

像魅力一样工作
Dheeraj M Pai

34

这对我有用

安装更漂亮:

npm init 
npm i prettier

package.json中添加以下脚本

"pretty": "prettier --write \"./**/*.{js,jsx,json}\"" 

仅在这种情况下,我需要格式化.js .jsx和.json文件。

运行脚本:

npm run pretty

3
可能想在npm install命令中添加“ --save-dev”,不需要将此作为生产依赖项
reggaeguitar

3
暗示问题是关于javascript的。我没有找到与之相关的标签。
Emobe

2
能漂亮格式c/ c++/c#代码?否
-downvote

如果同时使用eslint --fixeslint和pesttier,也可以使用。
BeyondTheSea


4

我发现的最简单的解决方案如下。

  • 在vscode中安装漂亮的文件。
  • 创建.prettierrc文件并按所需方式对其进行配置。
  • 在vscode控制台中运行以下命令。

npx prettier --write "**/*.ts" (根据需要添加文件类型regex)


1

正如@herrbischoff所说,当前无法格式化项目中的所有文件。
但是,这将是一个有用的功能。

它可以做的是通过启用自动保存和自动格式化来格式化所有未保存的文件。

否则,您将需要能够执行此操作的shell脚本或扩展程序或其他一些extern程序(例如tslint检查器,可以自动更正错误)。

我自己遇到了问题,无法手动打开所有文件


0

当前无法做到这一点,听起来也不是一个特别有用的功能。或者换种说法:如果您完全信任它,那是一个有用的功能,而您不能完全信任它。

您将不得不对所使用语言的自动格式化逻辑充满信心,以免搞砸并可能引入错误。无论如何,您都需要手动检查更改,因此这种方法不应导致可衡量的生产率提高。

如果您使用的是认真准备的代码库,并且不关心可能的问题,建议您使用相应语言的CLI格式化程序运行一个简单的shell命令。使用clang-format的C ++代码示例:

find . -iname *.cpp -exec clang-format {} +

此命令将递归查找所有cpp文件,并将使用默认设置通过格式化程序运行它们。

对于任何语言,此过程基本上都是相同的,例如JavaScript(使用js-beautify):

find . -iname *.js -exec js-beautify {} +

只要确保您检查了所有结果即可。另外,很可能可以将此命令编写为VScode脚本,或者仅在内置终端中运行它。


18
它怎么会不有用呢?如果您更改格式设置规则,则最好一次性将其应用于所有文件,而不是将格式更改与其他代码更改混在一起。
滑动

1
这很明显:因为它可能很危险。应用于所有文件的每一种自动格式设置,尤其是您不熟悉的项目,都可能会超出其修复范围。只需考虑缩进很重要的Python之类的语言。未经检查的自动重新格式化损坏内容。您当然可以自由地自己找到困难的地方。
herrbischoff

1
我在Intellij和Resharper上做这件事已经有很多年了,从来没有遇到过问题。确实没有“艰难的方式”,如果我相信足以对一个文件自动执行的格式,那么我对所有其他文件也足够信任。我确实推荐一种明确选择规则的方法,即IE将默认规则设置为关闭,然后慢慢将其打开。
四十二” '18

3
通过此参数,格式化整个文件将太危险。您应该只能格式化一个块。如果整个文件都可以,如果在同一目录中选择两个文件怎么办?如果可以,如果我选择目录怎么办?有很多用例(例如@slikts)很有意义,还有很多环境(包括python)可以使重新格式化程序/修饰词/代码标准化器正常工作。
Marvin

2
这似乎是一个很固执的回应。遇到带有大量错误的(非Python)代码库并不罕见。默认操作是使用当前规则格式化文件,确保项目构建,测试通过,然后在git中检查文件(可能忽略空格)。我将订阅一种方法,该方法使我可以通过项目而不是单个文件来执行此操作。
lorengphd

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.