# Clang-Tidy代码检查

DevEco Studio支持通过内置的Clang-Tidy和自定义的Clang-Tidy对C/C++代码进行静态检查，以及支持配置检查规则，帮助开发者快速发现C++编码的问题。

#### 检查规则配置

当前支持通过三种方式配置检查规则。

#### 方式一：在Clang-Tidy Checks中配置

1.  在菜单栏进入**File > Settings...**（macOS系统为**DevEco Studio > Preferences/Settings...**）> **Languages & Frameworks** > **C/C++**，勾选**Use clang-tidy via clangd to enable the following checks**选项。
    
2.  在选项下方添加检查规则，多条规则用英文逗号隔开，检查规则具体请参考Clang-Tidy Checks网站。
    
    添加检查规则时，可点击按钮展开规则填写框，在不同行添加规则。添加完成后点击按钮，多条规则会自动用英文逗号隔开。
    

#### 方式二：在 .clang-tidy文件中配置

1.  在工程根目录中或在编辑器中搜索找到并打开 .clang-tidy文件。
2.  在**Checks**字段中添加检查规则，多条规则使用英文逗号隔开，检查规则具体请参考Clang-Tidy Checks网站。
    

#### 方式三：在Inspection-checks中配置

1.  通过如下两种方法进入Inspect Code。
    
    *   在工程目录顶部或工程目录中任意文件，单击鼠标右键选择**Inspect Code**...。
    *   在菜单栏点击**Code >** **Inspect Code**...。
    
2.  点击**Configure...** **\> CPP > clang-tidy**，在**checks**中添加检查规则，多条规则使用英文逗号隔开，检查规则具体请参考Clang-Tidy Checks网站。
    
    添加检查规则时，可点击按钮展开规则填写框，在不同行添加规则。添加完成后点击按钮，多条规则会自动用英文逗号隔开。
    

#### 通过内置Clang-Tidy检查代码

使用内置Clang-Tidy进行代码自动实时检查和手动检查。

#### 自动实时检查

**生效规则**

若勾选了**live update****（show in “Current File”）**，自动实时检查时，Clang-Tidy Checks、.clang-tidy文件和Inspection-checks中配置的规则均生效；若不勾选**live update****（show in “Current File”）**，自动实时检查时，Clang-Tidy Checks和 .clang-tidy文件中配置的规则生效。

**操作步骤**

代码编辑时，工具自动提示语法错误等，将鼠标放置在错误代码处会显示详细的错误信息。

#### 手动检查

**生效规则**

手动检查时，仅Inspection-checks中配置的规则生效。

**操作步骤**

1.  通过如下两种方法，进入手动检查入口。
    
    *   在工程目录顶部或工程目录中任意文件，单击鼠标右键选择**Inspect Code**...。
    *   在菜单栏点击**Code >** **Inspect Code**...。
    
2.  指定检查范围，如整个工程、某个模块或者具体文件，单击**Analyze**按钮执行代码检查。
    
3.  检查完成后在界面左下方可查看告警文件和告警信息，点击告警信息可跳转至具体代码位置，开发者可在界面右下方代码区和上方代码区编辑修改。
    

#### 通过自定义Clang-Tidy检查代码

从26.0.0 Beta1版本开始，支持使用自定义Clang-Tidy进行代码自动实时检查和手动检查。

**生效规则**

1.  勾选Prefer .clang-tidy files over IDE settings时，自动实时检查和手动检查时，.clang-tidy文件中配置的规则生效。
2.  不勾选Prefer .clang-tidy files over IDE settings时，自动实时检查和手动检查时，Inspection-checks中配置的规则生效。

**操作步骤**

1.  在菜单栏进入**File > Settings...**（macOS系统为**DevEco Studio > Preferences/Settings...**）> **Languages & Frameworks** > **C/C++**，勾选**Use external Clang-Tidy instead of the built-in one**，添加clang-tidy.exe程序文件。
    
    clang-tidy.exe可从DevEco Studio安装目录中获取。
    
2.  选择生效规则和开启实时检查。
    
    *   进入clang-tidy界面，若勾选**Prefer .clang-tidy files over IDE settings**， .clang-tidy文件中配置的规则生效；若不勾选**Prefer .clang-tidy files over IDE settings**，Inspection-checks中配置的规则生效。
    *   若勾选**live update（show in “Current File”）**，会开启自动实时检查；若不勾选，需要手动检查，手动检查操作具体请参考内置Clang-Tidy的手动检查。