赞
踩
/**
* @author wangdaopo
* @email 3168270295@qq.com
*/
平时团队进行合作的时候需要注意代码的格式,虽然很难统一每个人的编码风格,但是通过工具能够很好的管理代码格式。这里介绍下clang-format,它是基于clang的一个命令行工具,能够自动化格式C/C++/Obj-C代码,支持多种代码风格:Google, Chromium, LLVM, Mozilla, WebKit,也支持自定义风格(通过编写.clang-format文件)很方便的同意代码格式。
Linux下安装Clang-format : sudo apt-get install clang-format
vim 中也可以集成该插件
格式化风格可使用内置风格或使用参数文件指定风格:
$ clang-format -style=LLVM -i test.cc # -style参数指定所选风格,可选项为 LLVM、Google、Chromium、Mozilla、WebKit 和 file,其中 file 指定参数文件。-i 表示将格式化后的内容写入原文件
另外clang-format还提供一个clang-format-diff.py
脚本,用来格式化patch,code review提交代码前,可以先跑一下这个脚本,// 格式化最新的commit,并直接在原文件上修改
git diff -U0 HEAD^ | clang-format-diff -i -p1
1).clang-format 可使用如下命令生成: 可以对其中某一个导出的文件.clang-format 进行修改,实现自定义格式化:
$ clang-format -style=llvm -dump-config > .clang-format # clang-format -style=格式名 -dump-config > 文件名
然后修改参数,以适应自己的要求。我习惯了 Linux kernel 风格,要修改以下几项:
若在当前目录或祖先目录中已有 .clang-format 文件,则可直接
$ clang-format -i test.cc
2)配置文件.clang-format详细说明
注:可能下面贴出的内容在个别选项上与官网文档不一样,这是由于Clang-Format的版本不一样的。
# 语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProto
Language: Cpp
# BasedOnStyle: LLVM
# 访问说明符(public、private等)的偏移
AccessModifierOffset: -4
# 开括号(开圆括号、开尖括号、开方括号)后的对齐:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。