vscode 如何修改c/c++格式化风格,大括号不换行

在Visual Studio Code(VSCode)中,若要修改C++代码格式化的风格以实现大括号不换行,通常会借助于插件C/C++扩展中的ClangFormat配置。以下是具体的步骤:

  1. 确保已安装了C/C++扩展:

    • 打开VSCode的扩展市场(Extensions view),搜索"C/C++",确保已经安装了微软提供的"C/C++"插件。
  2. 配置ClangFormat:

    • 在VSCode中打开设置(快捷键 Ctrl + , 或者通过菜单 文件 > 首选项 > 设置 进入)。
    • 搜索 “clang format”,找到"C_Cpp: Clang_format_style"这一项。
    • 你可以直接在UI界面中编辑设置,或者点击“在settings.json中编辑”来手动添加或修改设置。
  3. 修改ClangFormat样式设置:

    • settings.json中添加或修改如下内容,确保BreakBeforeBraces设置为Attach(这将使得大括号不换行):
{
   
    "C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, BreakBeforeBraces: Attach }"
}
  • 根据你的偏好,可以选择其他基础样式(如Google、Chromium等),并根据需要调整其他格式化选项。
  1. 如果你希望在保存时自动格式化代码,请同时确认以下设置是启用的:
{
   
    "editor.formatOnSave": true,
    "[cpp]": {
   
        "editor.defaultFormatter": "ms-vscode.cpptools"
    }
}

这样一来,在你保存C++文件时,VSCode会根据上述ClangFormat配置自动格式化代码,其中的大括号将会保持在同一行上。

注:

BreakBeforeBraces 是 ClangFormat 配置中的一个选项,用于控制大括号在代码格式化时的换行风格。这个选项有以下几种可能的值:

  • Attach大括号将紧跟在声明或语句之后,不换行。
  • LinuxGNU:类似 Attach,但在函数定义、类定义和命名空间定义的大括号前会有一行空行。
  • Stroustrup:类成员变量和函数定义的大括号前换行,其他情况(如 if、for 等)的大括号与前一行内容在同一行。
  • Allman:所有大括号前都换行。
  • MozillaWebKit:类似于 Allman,但函数参数列表后的大括号与函数名在同一行。

例如,在 Visual Studio Code 的 C/C++ 插件中配置为:

{
   
    "C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, BreakBeforeBraces: Attach }"
}

这样设置后,ClangFormat 将按照指定样式对 C++ 代码进行格式化,并确保大括号不会换到新行上。

修改示例:

在这里插入图片描述
Clang_format_style这里可以改为

{
   BasedOnStyle: LLVM, UseTab: Never, IndentWidth: 4, TabWidth: 4, BreakBeforeBraces: Attach}

相关推荐

  1. css中文本显示省略号和后显示省略号

    2024-02-06 07:26:01       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 07:26:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 07:26:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 07:26:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 07:26:01       20 阅读

热门阅读

  1. 【WPF】布局容器/面板总结XAML-Panel控件

    2024-02-06 07:26:01       38 阅读
  2. leetcode 74.搜索二维矩阵

    2024-02-06 07:26:01       36 阅读
  3. I3c的上拉电阻选择

    2024-02-06 07:26:01       30 阅读
  4. React 错误边界组件 react-error-boundary 源码解析

    2024-02-06 07:26:01       38 阅读
  5. golang开源定时任务调度框架

    2024-02-06 07:26:01       31 阅读
  6. 这是为什么啊!

    2024-02-06 07:26:01       30 阅读
  7. Rust消费kafka

    2024-02-06 07:26:01       32 阅读
  8. Spring boot 集成redis

    2024-02-06 07:26:01       29 阅读
  9. 【案例】--分布式”雪花算法案例

    2024-02-06 07:26:01       31 阅读