有没有更好的方法在 VS Code 中设置 C++ 格式选项而不是将它们打包成一个长字符串?

Is there a better way to set C++ format options in VS Code instead of packing them into one long string?

我在 macOS 上的 VS Code 中使用 Clang C++,我已经覆盖了 'settings.json' 文件中的一些 C++ 格式化选项。我可以从设置 UI 中设置一些东西,但为了更详细的设置,我在 'settings.json' 中添加了以下条目:

  "C_Cpp.clang_format_fallbackStyle": "{ EmptyLineBeforeAccessModifier: Never, AllowShortCaseLabelsOnASingleLine: true, ConstructorInitializerIndentWidth: 2, ColumnLimit: 120, PointerAlignment: Left, AllowShortIfStatementsOnASingleLine: true, SpaceAfterTemplateKeyword: false, AlignOperands: false, ContinuationIndentWidth: 2 }"

我在 Clang Format Style Options

找到了这些设置的描述

它似乎工作正常,当我按下 Alt-F 时,我的 C++ 文件得到了很好的重新格式化,但我想知道是否有更好的方法来指定设置,而不是在 settings.json 中使用一个长字符串.

例如,如果我可以在不同的行上指定每个格式设置或以某种方式将字符串分成多行,那就太好了。我不认为可以在常规 JSON 文件中将字符串拆分为多行,但也许 VS 代码有办法?

我不确定它是否相关,但我在设置 UI 中将 'C_Cpp: Clang_format_fallback Style' 设置为 'Google'。

如有任何建议,我们将不胜感激。

根据 F运行k 的评论,我尝试使用 .clang-format 文件,经过一番折腾后,我开始使用它。我首先尝试将 .clang-format 放入项目的 .vscode 目录中,但这没有用。阅读 move about clang format 后,我将文件移动到我的主目录(注意 .clang-format 的文件格式是 YAML 而不是 JSON),因为它需要位于同一目录或父目录中正在格式化的文件的目录。

我不认为它是必需的,但我也结束了 运行 brew install clang-format 因为我在我的路径中找不到它。安装后,我 运行 clang-format -style google -dump-config>~/.clang-format 然后进行了我想要的覆盖。

我能够从 settings.json 中删除长后备字符串,并且 VS Code 仍在我的新 .clang-format 文件中使用我的样式覆盖很好地格式化。