
# 代码审查
华为云码道代码智能体IDE提供了自动化代码审查能力，通过"/review-rules-generator"与"/review"两大核心指令的高效协同，为您提供精准、专业的代码质量把控能力。
#### 约束与限制
表1约束与操作限制 
| 限制类别    | 具体说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|
| 执行环境要求  | /review命令必须在Git仓库内执行，同时工作目录中必须包含已暂存（staged）、未暂存（unstaged）或未跟踪（untracked）的文件变更。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 支持的文件格式 | 仅支持以下编程语言的代码文件，非代码文件（如.json、.md、.css等）将被自动过滤，不参与审查流程。 - JavaScript/TypeScript：.ts、.tsx、.js、.jsx、.mjs、.cjs、.mts、.cts  - Python：.py、.pyi、.pyw、.pyx  - Java：.java  - C / C++：.c、.cpp、.cc、.cxx、.h、.hpp、.hh、.hxx  - Go：.go   |
   
#### 命令使用说明
以下为您详细介绍/review和/review-rules-generator这两个核心命令的具体用法。
#### /review命令说明
**命令功能**：启动代码审查流程，对当前修改或指定commit的代码变更进行全面审查。
**命令语法**：选择适合您的语法形式，回车即可触发对指定代码变更的全面审查。
表2/review命令语法格式 
| 语法格式                          | 说明                                                                   |
|:---|:---|
| /review                       | 审查当前工作目录下的所有代码变更，包括已暂存变更（staged）、未暂存变更（unstaged）和新增未跟踪文件（untracked）。 |
| /review \<commitId\>          | 审查单次commit内所有代码变更（空格分隔）。                                             |
| /review commitid:\<commitId\> | 审查单次commit内所有代码变更（冒号分隔）。                                             |
| /review commitid=\<commitId\> | 审查单次commit内所有代码变更（等号分隔）。                                             |
| /review 审查\<commitId\>对应的代码修改 | 通过自然语言描述指定审查commit。                                                  |
   
表3/review命令参数说明 
| 参数       | 类型              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| commitId | 字符串（7\~40位十六进制） | 指定要审查的commit SHA。若未提供，则默认审查当前工作目录的变更。 支持的commitId格式： - 裸SHA（7\~40位十六进制字符）：8b480d1或8b480d1a3b5c...  - 冒号格式：commitid:8b480d1  - 等号格式：commitid=8b480d1  - 自然语言格式：审计8b480d1、审查8b480d1、review 8b480d1   |
   
**使用示例**：通过以下三个/review命令示例，帮助您快速理解不同调用方式的用法与区别。
- 审查当前所有未提交的代码变更
  ```
  /review
  ```
  
- 审查指定commit内所有代码变更
  ```
  /review 8b480d1a3b5c4d6e7f8a9b0c1d2e3f4a5b6c7d8e
  ```
  

- 通过自然语言描述指定审查commit
  ```
  /review 审查commit为8b480d1a3b5c4d6e7f8a9b0c1d2e3f4a5b6c7d8e对应的代码修改
  ```
  
 
 #### /review-rules-generator命令说明
**命令功能**：管理代码审查规则集，支持规则的生成、查看和删除。
**命令语法** ：[表4]为您总结了/review-rules-generator命令的四种语法格式及其对应功能。请从中选择您需要的操作，回车即可执行。
 表4/review-rules-generator语法格式 
| 语法格式                                                                    | 说明                               |
|:---|:---|
| /review-rules-generator \<文件路径\> \<规则集名称\>                              | 基于规范文件生成新的规则集。                   |
| /review-rules-generator --generate \<文件路径\> \<规则集名称\>                   | 基于规范文件生成新的规则集。                   |
| /review-rules-generator --show-rules \<规则集名称\>                          | 查看当前已启用的规则列表（即enabled=true的规则）。  |
| /review-rules-generator --disable-rules \<规则集名称\> \<规则ID_1,规则ID_2,...\> | 停用指定规则，即将对应规则的enabled字段设置为false。 |
   
表5/review-rules-generator命令参数说明 
| 参数     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|
| 文件路径   | 规范文件在本地的存储路径。当前仅支持如下格式的规范文件： - PDF（.pdf）  - Word（.docx、.doc）  - Markdown（.md）   |
| 规则集名称  | 基于规范文件生成的规则集名称，方便后续引用和管理。                                                                                                                                                                                                                                                                                                                                                                                          |
| 规则ID列表 | 待停用的规则ID，多个之间用英文逗号分隔，如rule_001,rule_002。                                                                                                                                                                                                                                                                                                                                                                           |
   
**使用示例：**以下示例演示了如何使用/review-rules-generator命令进行代码审查规则的自动化管理。
- 基于PDF规范文档生成规则集
  ```
  /review-rules-generator --generate /path/to/Python编程规范.pdf Python语言编程规范V3.0
  ```
  
- 查看已启用的规则
  ```
  /review-rules-generator --show-rules Python语言编程规范V3.0
  ```
  

- 停用特定的规则
  ```
  /review-rules-generator --disable-rules Python语言编程规范V3.0 RULE_001,RULE_005
  ```
  
 
#### 命令使用示例
1. 参考[快速启动](https://support.huaweicloud.com/usermanual-codeartsagent/codeartsagent_ug_0002.html)中操作，登录华为云码道代码智能体IDE。
2. 使用"/review-rules-generator"命令，基于本地规范文档生成规则集。 
   1. 单击输入框中的 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002669485599.png)，选择"快捷指令"，在弹出的菜单中选择"/review-rules-generator"命令。
   
   2. 输入规范文件所在的位置、生成规则集的名称，单击发送图标 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002639285714.png)。
      图1生成规则集   
      ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002639285562.png "点击放大") 
   
   3. 查看生成的规则集。 在资源管理器项目根目录的".codeartsdoer/skills"路径下，会生成一个codeagent-custom-review-rules规则集文件夹。
      图2查看生成的规则集   
      ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002639628044.png "点击放大") 
   
   
   
   
3. 使用"/review"命令，基于生成的规则集对变更的代码进行全面审查。 
   1. 单击输入框中的 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002639658470.png)，选择"快捷指令"。
   
   2. 在弹出的菜单中选择"/review"命令，单击发送图标 ![](https://support.huaweicloud.com/usermanual-codeartsagent/zh-cn_image_0000002639498522.png)。
   
   3. 查看代码审查结果。 在资源管理器项目根目录的".codeartsdoer/review"路径下，会生成一个以"年-月-日_时-分-秒-毫秒-随机字符串"格式命名的文件夹。每个文件夹内包含preprocess和report两个子目录。其中，preprocess用于存放代码变更等预处理文件，report用于存放最终的审查报告。
      
   
   
   
   
 
