Files
doris/docs/zh-CN/developer-guide/format-code.md
2020-06-05 10:19:17 +08:00

88 lines
2.8 KiB
Markdown

---
{
"title": "代码格式化",
"language": "zh-CN"
}
---
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# 代码格式化
为了自动格式化代码,推荐使用clang-format进行代码格式化。
## 代码风格定制
Doris的代码风格在Google Style的基础上稍有改动,定制为.clang-format文件,位于Doris根目录。
目前,.clang-format配置文件适配clang-format-8.0.1以上的版本。
## 环境准备
需要下载安装clang-format,也可使用IDE或Editor提供的clang-format插件,下面分别介绍。
### 下载安装clang-format
Ubuntu: `apt-get install clang-format`
当前版本为10.0,也可指定旧版本,例如: `apt-get install clang-format-9`
Mac: `brew install clang-format`
Centos 7:
centos yum安装的clang-format版本过老,支持的StyleOption太少,建议源码编译10.0版本。
### clang-format插件
Clion IDE可使用插件"ClangFormat",`File->Setting->Plugins`搜索下载。但版本无法和
clang-format程序的版本匹配,从支持的StyleOption上看,应该是低于clang-format-9.0。
## 使用方式
### 命令行运行
`clang-format --style=file -i $File$`
`--sytle=file`就会自动找到.clang-format文件,根据文件Option配置来格式化代码。
`--lines=m:n`通过指定起始行和结束行修改文件的指定范围
`-i`指定被格式化文件
批量文件clang-format时,需注意过滤不应该格式化的文件。例如,只格式化*.h/*.cpp,并排除某些文件夹:
Centos
`find . -type f -not \( -wholename ./env/* \) -regextype posix-egrep -regex
".*\.(cpp|h)" | xargs clang-format -i -style=file`
Mac
`find -E . -type f -not \( -wholename ./env/* \) -regex ".*\.(cpp|h)" | xargs clang-format -i --style=file`
### 在IDE或Editor中使用clang-format
#### Clion
Clion如果使用插件,点击`Reformat Code`即可。
#### VS Code
VS Code需安装扩展程序Clang-Format,但需要自行提供clang-format执行程序的位置。
打开VS Code配置页面,直接搜索"clang_format",填上
```
"clang_format_path": "$clang-format path$",
"clang_format_style": "file"
```
然后,右键点击`Format Document`即可。