花了一上午解决,google和百度查的还都有点奇怪...不能解决问题,故Mark一下
Ubuntu环境中,使用VSCode编译器,在保存时自动格式代码还是很方便的,有助于养成良好的编程习惯,也方便阅读(随笔新加了些东西 顺序可能有点乱...)
C++格式化
一、在VSCode中下载内置的Clang-Format插件
二、本来以为这么简单就可以了,其实还要再安装一下clang-format
在命令行输入sudo apt-get install clang-format
安装好该文件
三、设置自定义的.clang-format文件,并设置自动保存
创建.clang-format文件到工作目录下,如图
在里面自己写好希望保存的代码格式,本人比较喜欢google的格式,稍微加了一点改动,仅供参考
#基础样式
BasedOnStyle: Google
#指针的*的挨着哪边
PointerAlignment: Right
#访问修饰符前的空格
AccessModifierOffset: -4
# 缩进宽度
IndentWidth: 4
# 连续的空行保留几行
MaxEmptyLinesToKeep: 1
# 圆括号的换行方式
BreakBeforeBraces: Attach
# 是否允许短方法单行
AllowShortFunctionsOnASingleLine: true
# 支持一行的if
AllowShortIfStatementsOnASingleLine: true
# 在未封闭(括号的开始和结束不在同一行)的括号中的代码是否对齐
AlignAfterOpenBracket: true
# switch的case缩进
IndentCaseLabels: true
# 针对OC的block的缩进宽度
ObjCBlockIndentWidth: 4
# 针对OC,属性名后加空格
ObjCSpaceAfterProperty: true
# 每行字符的长度
ColumnLimit: 120
# 注释对齐
AlignTrailingComments: true
# 括号后加空格
SpaceAfterCStyleCast: false
# 换行的时候对齐操作符
AlignOperands: true
# 中括号两边空格 []
SpacesInSquareBrackets: false
# 多行声明语句按照=对齐
AlignConsecutiveDeclarations: false
# 容器类的空格 例如 OC的字典
SpacesInContainerLiterals: false
# 在构造函数初始化时按逗号断行,并以冒号对齐
BreakConstructorInitializersBeforeComma: true
# 函数参数换行
AllowAllParametersOfDeclarationOnNextLine: true
#在续行(# 下一行)时的缩进长度
ContinuationIndentWidth: 4
# tab键盘的宽度
TabWidth: 4
# 赋值运算符前加空格
SpaceBeforeAssignmentOperators: true
# 行尾的注释前加1个空格
SpacesBeforeTrailingComments: 1
自动保存的话,则是在上面的目录中的settings.json中,加入
{
"editor.formatOnSave": true
}
这样即可在保存时自动格式化代码啦~
也可以在settings中搜索format 配置保存自动格式化