有没有办法格式化项目中的所有文件而不单独格式化每个文件?
答案 0 :(得分:13)
您可以使用名为“格式文件”的扩展名。
”用途:打开命令面板(Ctrl + Shift + P)并输入“格式化文件”,为“ editor.action.formatFiles”命令创建快捷键。右键单击工作区文件夹,然后选择“格式化文件”以格式化目录中的所有文件。”
来源:https://marketplace.visualstudio.com/items?itemName=jbockle.jbockle-format-files
答案 1 :(得分:6)
我找到的最简单的解决方案如下。
npx prettier --write "**/*.ts"
(根据需要添加文件类型regex)
答案 2 :(得分:3)
我很不幸运地找到了一个扩展程序,它以我期望的方式进行,所以我做了一个。我建议您看看我刚刚做的扩展:
它可能仍然存在一些问题,可以随时报告或做出贡献。
答案 3 :(得分:3)
这对我有用
安装更漂亮的:
npm init
npm i prettier
在 package.json中添加以下脚本:
"pretty": "prettier --write \"./**/*.{js,jsx,json}\""
仅在这种情况下,我需要格式化.js .jsx和.json文件。
运行脚本:
npm run pretty
答案 4 :(得分:2)
目前无法做到这一点,听起来也不是一个特别有用的功能。或者换一种方式:如果你完全信任它,将成为一个有用的功能,你不能。
您必须对所使用语言的自动格式化逻辑投入很多信心,以免搞砸并可能引入错误。您无论如何都需要手动查看更改,因此这种方法不会导致可衡量的生产率提升。
如果您正在使用认真的 f'ed代码库并且不关心可能的问题,我建议使用相应语言的CLI格式化程序运行一个简单的shell命令。 C ++代码示例,使用clang-format:
find . -iname *.cpp -exec clang-format {} +
此命令将以递归方式查找所有cpp文件,并使用默认设置通过格式化程序运行它们。
对于任何语言,该过程基本相同,例如JavaScript(使用js-beautify):
find . -iname *.js -exec js-beautify {} +
请确保检查出来的内容。此外,很可能将此命令编写到VScode中 - 或者只是在内置终端中运行它。
答案 5 :(得分:1)
您可以使用扩展名 Command on All Files
将此添加到您的 settings.json
"commandOnAllFiles.commands": {
"Format File": {
"command": "editor.action.formatDocument",
"includeFileExtensions": [".js",".ts",".css"]
}
}
从命令面板中选择命令对工作区中的所有文件应用 1 个或多个命令,然后从快速选择列表中选择格式化文件。等到您看到所有文件都已处理的信息消息(右下方)。
答案 6 :(得分:1)
使用npm
,如果您的语言是supported,只需在终端中运行npx prettier --write .
答案 7 :(得分:0)
正如@herrbischoff所说,目前无法格式化项目中的所有文件 然而,这将是一个有用的功能。
它可以做的是通过自动保存和自动格式化来格式化所有未保存的文件。
否则你需要一个shell脚本或扩展程序或一些其他extern程序(比如可以自动纠正错误的tslint检查程序),它可以做到这一点。
我自己遇到问题,手工打开所有文件很糟糕
答案 8 :(得分:0)
我做一个简单的把戏:
希望有帮助