是否有一种方法可以格式化项目中的所有文件而不单独格式化每个文件?


当前回答

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

您必须对所使用语言的自动格式化逻辑抱有很大的信心,以免搞砸并可能引入错误。无论如何,您都需要手动检查更改,因此这种方法不应该导致可测量的生产力提高。

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

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

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

这个过程对于任何语言都是一样的,比如JavaScript(使用js-beautify):

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

只要确保你复习了所有出来的东西。此外,很可能将这个命令脚本化到VScode中——或者只是在内置终端中运行它。

其他回答

我找到的最简单的解决方法如下。

在vscode中安装prettier。 创建. pretierrc文件并按需要的方式配置它。 在vscode控制台中执行以下命令。

NPX更漂亮——写“**/*”。ts”(根据需要添加文件类型regex)

您可以在所有文件上使用扩展命令

将其添加到settings.json中

"commandOnAllFiles.commands": {
    "Format File": {
      "command": "editor.action.formatDocument",
      "includeFileExtensions": [".js",".ts",".css"]
    }
  }

从命令面板选择命令对工作区中的所有文件应用一个或多个命令,并从快速选择列表中选择“格式化文件”。等待,直到看到所有文件都已处理的信息消息(右下)。

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

您必须对所使用语言的自动格式化逻辑抱有很大的信心,以免搞砸并可能引入错误。无论如何,您都需要手动检查更改,因此这种方法不应该导致可测量的生产力提高。

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

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

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

这个过程对于任何语言都是一样的,比如JavaScript(使用js-beautify):

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

只要确保你复习了所有出来的东西。此外,很可能将这个命令脚本化到VScode中——或者只是在内置终端中运行它。

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

它能做的是通过自动保存和自动格式化格式化所有未保存的文件。

否则,您将需要一个shell脚本或扩展或其他一些extern程序(如可以自动纠正错误的tslint检查器),它们能够做到这一点。

我自己也有这个问题,手动打开所有文件很糟糕

使用npm,只需要运行npx——write。如果支持您的语言,则在终端中