如何通过命令行执行Unity项目的ReSharper代码检查?
Unity项目在TeamCity中通过命令行运行ReSharper代码检查操作指南
1. 前置准备
- 下载对应版本的ReSharper Command Line Tools(CLT):版本需与本地Rider IDE内置的ReSharper版本保持一致,避免出现代码检查规则不一致的问题,也可以直接在构建环节通过NuGet安装该工具。
- 生成Unity项目解决方案文件:检查前必须确保项目根目录下存在正确生成的
.sln解决方案文件和对应.csproj项目文件。CI环境下可以通过Unity命令行自动生成:Unity -quit -batchmode -executeMethod UnityEditor.SyncVS.SyncSolution -projectPath ./你的项目路径 - 提交本地ReSharper规则配置:将本地Rider生成的
.DotSettings规则文件提交到代码仓库,CLT会自动读取同目录下的配置文件,保证CI检查规则和本地开发环境完全对齐。
2. 核心代码检查命令
使用CLT内置的inspectcode工具执行代码检查,基础命令格式如下:
jb inspectcode 你的项目名.sln --output=inspection-result.xml --severity=WARNING --exclude="Assets/Plugins/**/*" --exclude="**/Generated/**/*"
参数说明:
- 第一个参数为Unity项目根目录下的
.sln文件路径 --output:指定检查结果的输出文件路径,后续TeamCity会解析该文件生成报告--severity:设置需要上报的最低问题级别,可选值为INFO/WARNING/ERROR,一般设置为WARNING即可--exclude:可选参数,用于排除不需要检查的目录,比如第三方插件目录、自动生成代码目录,支持glob匹配规则- 可选添加
--no-build参数:如果之前的CI步骤已经完成了项目编译,添加该参数可以跳过重复编译,减少检查耗时
3. TeamCity CI集成配置
- 在构建配置中新增「命令行」构建步骤:如果构建机器没有预装CLT,先执行NuGet安装命令
nuget install JetBrains.ReSharper.CommandLineTools,再执行上述的inspectcode检查命令。 - 启用「ReSharper 代码检查」构建功能:在构建配置的「构建功能」模块添加该功能,指定之前输出的
inspection-result.xml文件路径,TeamCity会自动解析结果并展示在构建报告中。 - 配置构建失败规则:可以根据业务需求设置阈值,比如ERROR级问题数量超过0则标记构建失败,拦截不符合代码规范的提交。
注意事项
- 构建机器需要预先安装对应版本的.NET SDK,保证ReSharper CLT可以正常运行。
- 若使用自定义的检查规则,需确保
.DotSettings文件已经提交到代码仓库根目录,无需额外添加参数指定配置文件路径。
内容的提问来源于stack exchange,提问作者Sergey Skvortsov
相关产品推荐
相关产品推荐

