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

Chr*_*ams 46 formatting visual-studio-code

有没有办法格式化项目中的所有文件而不单独格式化每个文件?

Hie*_*hai 71

这对我有用

安装更漂亮:

npm init 
npm i prettier
Run Code Online (Sandbox Code Playgroud)

package.json 中添加以下脚本

"pretty": "prettier --write \"./**/*.{js,jsx,json}\"" 
Run Code Online (Sandbox Code Playgroud)

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

运行脚本:

npm run pretty
Run Code Online (Sandbox Code Playgroud)

  • 可能想将“--save-dev”添加到 npm install 命令中,不需要将其作为生产依赖项 (12认同)
  • 暗示问题是关于 javascript 的。我没有看到与之相关的标签。 (6认同)
  • Prettier 可以格式化 `c`/`c++`/`c#` 代码吗?否——投反对票 (2认同)
  • 如果您同时使用 eslint 和 prettier,您还可以使用 eslint --fix 。 (2认同)
  • VSCode 不仅仅适用于 Nodejs。问题是关于所有代码文件的常规格式。 (2认同)

Ste*_*ell 33

您可以使用名为"格式文件"的扩展名.

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

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

  • 这导致我的所有文件都被破坏,因为它没有使用 prettier。它破坏了 JSX 代码,出于对美好事物的热爱,请不要这样做!你会后悔的。 (23认同)
  • 值得关注此扩展的排除项目设置。它只是尝试格式化我的整个 node_modules 文件夹。但除此之外似乎效果很好 (4认同)
  • 刚刚试过它就像魅力一样! (3认同)
  • 作品魅力十足 (3认同)
  • 或者右键单击该文件夹,然后单击“开始格式化文件。此文件夹” (3认同)
  • @jake_314:很抱歉让您有如此糟糕的经历。但我希望您在执行主要的脚本代码更改操作之前使用 Git 或备份代码?无论如何,我还没有尝试过使用 JSX,但这里有一个可能有用的链接:https://www.rockyourcode.com/format-and-fix-all-files-with-prettier-and-es-lint-递归地/ (2认同)

Piy*_*ure 27

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

  • 在 vscode 中安装 prettier。
  • 创建 .prettierrc 文件并按照您想要的方式对其进行配置。
  • 在 vscode 控制台中运行以下命令。

npx prettier --write "**/*.ts" (根据需要添加文件类型正则表达式)

  • 这仅适用于 js 代码,并且该问题没有询问有关 js 的内容,它只是讨论一般格式。 (3认同)

Dav*_*oix 22

我很不走运,找到了一个按照我期望的方式这样做的扩展,所以我做了一个。我建议你看看我刚刚做的扩展:

https://marketplace.visualstudio.com/items?itemName=lacroixdavid1.vscode-format-context-menu#overview

它可能仍然存在一些问题,请随时报告或贡献。

  • 是的,我喜欢这个!与 C++ 配合良好。 (3认同)

xia*_*glu 10

使用npmnpx prettier --write .如果您的语言受支持,只需在终端中运行


her*_*off -5

目前还没有办法做到这一点,而且听起来也不像是一个特别有用的功能。或者换句话说:如果您可以完全信任它,那么它将一个有用的功能,但您不能。

\n\n

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

\n\n

如果您正在使用严重损坏的代码库并且不关心可能出现的问题,我建议使用相应语言的 CLI 格式化程序运行一个简单的 shell 命令。使用clang-format 的C++ 代码示例:

\n\n
find . -iname *.cpp -exec clang-format {} +\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

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

\n\n
find . -iname *.js -exec js-beautify {} +\n
Run Code Online (Sandbox Code Playgroud)\n\n

只要确保您检查了所有结果即可。此外,很可能将此命令编写到 VScode \xe2\x80\x94 中,或者只是在内置终端中运行它。

\n

  • 这怎么会不是一个有用的功能呢?如果更改格式规则,最好一次性将其应用到所有文件,而不是将格式更改与其他代码更改混合在一起。 (26认同)
  • 按照这个论点,格式化整个文件就太危险了。您应该只能格式化一个块。如果整个文件都可以,如果我在同一目录中选择两个文件怎么办?如果可以的话,如果我选择一个目录呢?在很多用例(例如 @slikts )中,这非常有意义,并且在很多环境(包括 python)中,重新格式化器/美化器/代码标准化器可以正常工作。 (6认同)
  • 这似乎是一个相当固执己见的回应。遇到大量缩进错误的(非 Python)代码库并不罕见。默认操作是使用当前规则格式化文件,确保项目构建、测试通过,然后在 git 中检查文件(可能忽略空格)。我会订阅一种方法,该方法允许我使用项目而不是单个文件来执行此操作。 (6认同)
  • 我多年来一直使用 Intellij 和 Resharper 这样做,从未遇到过问题。确实没有“困难的方法”,如果我足够信任该格式可以自动为一个文件执行此操作,那么我对所有其他文件也足够信任它。我确实推荐一种显式选择规则 IE 的方法,将规则默认为关闭,然后慢慢打开它们。 (3认同)