Visual Studio“{}”的代码格式

Visual Studio Code formatting for "{ }"

我在 Ubuntu。 Visual Studio 中的 C++ 代码自动检查

if (condition == true)
{
  DoStuff();
}

相反,我想这样做:

if (condition == true) {
  DoStuff();
}

我该怎么做?

我已经从市场安装了 C/C++ 扩展。

我有一段时间没有使用 Visual Studio,但您应该可以通过 Window 选项卡打开“选项”菜单。

您可以在那里搜索 Formatting 选项,其中包括那些特定于语法的设置和间距。我认为它在文本编辑器选项附近。 C/C++ 扩展仅安装 Visual C 编译器和标准库,以及 Windows SDK 和其他一些东西。

  • 转到文件 -> 首选项 -> 设置
  • 搜索 C_Cpp.clang_format_fallbackStyle
  • 从 "Visual Studio" 更改为 "LLVM"、"Google" 或 "WebKit"

基于@Chris Drew 的回答

  1. 转到首选项 -> 设置
  2. 搜索 C_Cpp.clang_format_fallbackStyle
  3. 单击编辑,复制到设置
  4. 从 "Visual Studio" 更改为 "{ BasedOnStyle: Google, IndentWidth: 4 }"

例如

  • "C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"
  • 顺便说一下,ColumnLimit: 0 也很有用,因为 google 限制会在您不需要时将您的代码中断到下一行。

如果你想要更多:

更多详情:

英语:https://medium.com/@zamhuang/vscode-how-to-customize-c-s-coding-style-in-vscode-ad16d87e93bf

台湾:https://medium.com/@zamhuang/vscode-%E5%A6%82%E4%BD%95%E5%9C%A8-vscode-%E4%B8%8A%E8%87%AA%E5%AE%9A%E7%BE%A9-c-%E7%9A%84-coding-style-c8eb199c57ce

以MacOS为例,为VS Code配置clang-format的理想方法是先用Homebrew安装clang-format:

brew install clang-format

然后,用它导出完整的样式设置到~/.clang-format:

clang-format -style=google -dump-config > ~/.clang-format

然后,在 VS Code 中执行以下操作:

  • 转到 Code/File -> Preferences -> Settings 并在用户设置下定义以下参数:
  • "C_Cpp.clang_format_path": "/usr/local/opt/llvm/bin/clang-format"
  • "C_Cpp.clang_format_style": "Google"
  • "C_Cpp.clang_format_fallbackStyle": "Google"
  • "C_Cpp.intelliSenseEngine": "Tag Parser"

这会将格式化程序设置为随 Homebrew 安装的 clang-formatter,它会自动从您刚创建的 ~/.clang-format 文件中提取您的样式设置。这样,您可以根据需要更改样式中的每个参数,而不仅仅是其中的一个子集。

最后一个参数 C_Cpp.intelliSenseEngine 用于解决 C++ 扩展中当前破坏 IntelliSense 的错误。

我通常有自己的方式来格式化几乎所有内容:) 所以我更喜欢最灵活的方式来实现这一点。就 c++ 格式而言,VS 代码是迄今为止最灵活的编辑器,也是 "easy".

这是获得自定义格式的方法。

  • 在您的作品的顶层文件夹下创建一个名为 .clang-format 的文件 space。
  • 然后开始放置您的配置。您可以参考页面 Clang format Style 了解各种可用的选项。
  • 保存文件,然后使用格式文档 (Ctrl+Shift+I) 或格式选择 (Ctrl+K Ctrl+F)

这是我的文件供您参考。

Standard: Cpp11
BasedOnStyle: LLVM
IndentWidth: 4
ColumnLimit: 0
AccessModifierOffset: -4
NamespaceIndentation: All
BreakBeforeBraces: Custom
BraceWrapping:
  AfterEnum: true
  AfterStruct: true
  AfterClass: true
  SplitEmptyFunction: true
  AfterControlStatement: false
  AfterNamespace: false
  AfterFunction: true
  AfterUnion: true
  AfterExternBlock: false
  BeforeCatch: false
  BeforeElse: false
  SplitEmptyRecord: true
  SplitEmptyNamespace: true

您特别感兴趣的格式是"AfterControlStatement: false"

安装 C# FixFormat 扩展

  • 查看 > 扩展
  • 搜索"C# FixFormat"
  • 安装

Shift + Alt + F

如果它抱怨多个格式化程序,请按配置按钮和 select C# FixFormat。

可以通过转到“文件”>“首选项”>“设置”返回到在新行上打开大括号。然后向下滚动到 Extensions、C# FixFormat 配置并取消选中 Style > Braces: On Same Line