问题描述
我在ubuntu上。当我用VS Code编写C++代码时,它会自动掉毛
if (condition == true)
{
DoStuff();
}
相反,我想做喜欢
if (condition == true) {
DoStuff();
}
我怎么做?我已经从市场安装了C /C++扩展。
最佳办法
基于@Chris Drew的答案
-
进入偏好设置->设定值
-
搜索C_Cpp.clang_format_fallbackStyle
-
单击编辑,复制到设置
-
从”Visual Studio”更改为
"{ BasedOnStyle: Google, IndentWidth: 4 }"
例如
-
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0}"
-
顺便说一句
ColumnLimit: 0
也很有用,因为Google限制会在不需要时将代码破坏到下一行。
如果您想要更多:
-
将您的功能自定义为“ C_Cpp.clang_format_fallbackStyle”,以备您所爱。
更多详情:
英文:https://medium.com/@zamhuang/vscode-how-to-customize-c-s-coding-style-in-vscode-ad16d87e93bf
次佳办法
-
转到文件->首选项->设定值
-
搜索
C_Cpp.clang_format_fallbackStyle
-
从”Visual Studio”更改为”LLVM”,”Google”或”WebKit”
第三种办法
我通常有自己的格式化几乎所有内容的方式:),所以我更喜欢采用最灵活的方式来实现此目的。就c ++格式而言,VS代码是迄今为止最灵活的编辑器,也是”easy”。
这是获取自定义格式应该执行的操作。
-
在工作空间的顶部文件夹下创建一个名为.clang-format的文件。
-
然后开始进行配置。您可以参考第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”