因为最近连续遇到两个之前 code 的隐藏 bug 被触发的情况,而在 debug 的过程中,把相关部分 code 直接发给大模型都能正确找到 bug ,所以想有没有个 vscode extension 可以直接对于已有代码检查呢? 于是让 Gemini 和 ChatGPT 分别做了调研,可是没有找到满足需求的插件。
既然没有,那就自己搞吧,vibe coding 起来。然后就用 Roo Code 写了起来,没想到竟然一次就过了,然后又迭代了几轮小的需求,也都一次完成了。
所以就有了这个插件: LLM Background Diagnostics Extension。
然后试用了下,发现效果还是不错的,用之前有隐藏 bug 的代码试了下,都可以发现这些 bug 。目前实现的功能其实很粗糙,还有以下问题:
- 实现比较粗暴,直接发送了整个当前文件给 LLM ,所以当文件太大的时候可能会有 context 的问题,目前来看似乎还可以。
- 因为只是发送了当前文件,所以有些跨文件的 bug 其实是无法发现的,主要针对的是当前文件内各函数的实现。
- 由于 LLM 返回的行号信息不对,所以虽然根据内容做了一些校验,但是仍然会存在一些问题和实际不太对应的地方。
- 误报。
- 不支持个人 API 。因为公司有 GitHub copilot ,所以就直接调用了 vscode llm api ,不需要额外配置就可以直接用了。模型选择了个人用起来感觉效果最好的 Gemini 2.5 ,但是如果用量比较大的话会 rate limit 。