idea代码review工具Code Review Helper使用介绍

之前在团队里面遇到一个关于代码review的问题,使用gitlab自己的还是facebook的Phabricator,很难看到整体逻辑,因为业务逻辑代码可能不在这次改动范围内,在去源库中找不好找。针对这个刚需,在网上找了一个idea的代码工具CodeReview IDEA 插件:Code Review Helper,它的主要功能有:

  • Alt+A快速添加注释
  • 行号旁边图标标识有检视意见的位置
  • 支持双击评审意见跳转到代码对应位置
  • 支持对评审意见的删除、修改
  • 支持评审意见内容导出为Excel表格
  • 支持将导出的Excel表格中的评审意见导入到IDEA中进行查看与管理。
  • 支持网络交互,适合团队协作场景使用
  • 支持评审字段的自行定制、或者团队统一定制

从功能上看,切实解决了在gitlab中无法快捷方便的看全整体业务的问题。

下来我简单介绍下它的使用。

一、安装Code Review Helper插件

在idea中选择Settings,在下面点击Plugins,在Marketplace里面输入Code Review Helper ,点击安装后重启idea,

如果出现如下界面CodeReview框,点击后出现这样的界面证明安装成功。

二、使用

在安装好之后,我们可以在idea中使用了。

(一)离线版

选中代码内容,然后alt+a可以打开添加评审意见的窗口,在窗口中添加评审信息后点击保存即可完成评审意见的添加,

点击保存后,可以在窗口中看到多了一条数据

并且在工程里面也可以看到,有一个标识,显示此处代码有被审核,鼠标放到黄色标识上,显示审核意见。

然后审核人员可以点击列表的Export按钮,导出一个execl,发给写代码的同事,那位同事在idea中点击Import按钮导入后,可以进行建议的确认

导入之后,在列表里面点击列表数据,插件就会自动跳转到具体的文件和行数中,十分方便

之后进行状态的流转,再发回给审核人。

当然这个过程中,在审核人发现自己多加了想删除的需求,那就选择数据进行Delete Seleted ,要想全删的话,点击Clear All 就行。

(二)在线版

上述这个虽然很好,但是要一直传文件就是很不方便,所以我咨询了作者 veezean

它主要的功能是简化了上面传文件过程为上传下载,流程改为:

具体步骤如下:

1、打开idea插件界面进行网络版本配置:

点击settings按钮,打开设置界面,可以切换界面中英文显示,然后切换到网络版本

在网络版本中,输入搭建好的服务端地址,点击连接测试成功后,再输入账号和密码,点击登录测试,验证成功后即可点击下方的保存按钮

2.设置完成后,会自动从服务端拉取已经配置好的评审字段配置信息、以及服务端的项目信息列表等。使用过程中用户也可以手动点击同步配置按钮,从服务端拉取最新的配置信息。

3.点击提交服务端,可以将本地的评审意见内容提交到服务端(如果有配置webhook通知,会收到相关消息推送)

4、选择具体项目以及拉取范围后,点击服务端下载可以从服务端拉取评审意见到本地IDEA中。

比如别人给我提了评审意见,我可以拉取到自己的IDEA中,双击跳转到对应的代码位置,进行问题的确认处理,确认完成后,可以在本地IDEA中对评审意见进行答复,答复完成后提交本地数据到服务端,完成整个review过程的闭环。

但是这个是依赖要建设一个服务端,具体安装教程可以见:

CodeReview IDEA 插件配套服务端使用教程 | Veezean 的小世界 (codingcoder.cn)

在写本次文章的时候,我发现作者在服务端还增加了一些自定义字段等功能,gitee仓库也增加了前端vue的版本:

CodeReviewServer_Portal: CodeReviewServer_Portal (gitee.com),前端的同事有空也可以探索下。

相关推荐
Tadas-Gao20 分钟前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
励志成为架构师1 小时前
跟小白一起领悟Thread——如何开启一个线程(上)
java·后端
充气大锤1 小时前
从0开始配置conda环境并在PyCharm中使用
ide·pycharm·conda
anlogic1 小时前
Java基础 8.16
java·开发语言
可口码农2 小时前
MixOne:Electron Remote模块的现代化继任者
java·前端·electron
蚰蜒螟2 小时前
Netty 的 Select/Poll 机制核心实现主要在 NioEventLoop 的事件循环
java·开发语言
Full Stack Developme2 小时前
Java后台生成多个Excel并用Zip打包下载
java·开发语言·excel
Brookty2 小时前
【Java学习】锁、线程死锁、线程安全2
java·开发语言·学习·java-ee
百锦再3 小时前
.NET 的 WebApi 项目必要可配置项都有哪些?
java·开发语言·c#·.net·core·net
耳东哇3 小时前
spring ai-openai-vl模型应用qwen-vl\gpt-文字识别-java
java·人工智能·spring