八年前,一群开发者写了个NetBeans插件来揪Java代码里的Bug。没人想到这个粗糙的原型会一路漂流,先变成IntelliJ上的CodeRef,最后被装进VS Code和Kiro——核心引擎还是那套Java/Kotlin分析逻辑,只是换了个TypeScript外壳。

这就是BugBench的故事。它不是什么新造的工具,而是一次"旧酒装新瓶"的务实移植。

打开网易新闻 查看精彩图片

最早的NetBeans版本只做一件事:快速静态检查,把可疑代码标出来。到了CodeRef阶段,团队补全了AST解析和Kotlin支持,规则集也经过实战打磨。真正的转折发生在移植期——他们没有重写分析核心,而是把90%的Java/Kotlin实现包进一个JVM语言服务器,再写了个TypeScript客户端对接现代编辑器。

打开网易新闻 查看精彩图片

现在装BugBench能得到什么?按需项目扫描、Git diff感知(只扫改过的文件)、SARIF格式导出、自包含的VSIX安装包,以及编辑器内直接修复。整个构建流程也是开放的:从fat jar到打包VSIX,文档里都有。

安装需要JDK 17、Node 20+和Gradle。有VSIX文件的话,一行命令code --install-extension就能装进VS Code,Kiro用户把code换成kiro即可。也可以从源码构建:进client目录npm install、npm run build,再用vsce打包。

打开网易新闻 查看精彩图片

CI场景下,直接跑JVM扫描器更灵活。java -jar bugbench-server-all.jar --scan . --format sarif输出标准格式,加--diff HEAD~1就只扫变更文件。结果丢进安全仪表盘或代码审查系统都行。

这个项目的有趣之处不在于技术多新,而在于"不重写"的固执。当整个行业都在追逐Rust重写、AI重构时,BugBench的团队选择把成熟的Java引擎原封不动地塞进了现代编辑器。对于手里有 legacy 代码要维护的团队,这种移植思路可能比造新轮子更实在。