如何让 Claude Code 自动接收 LSP 诊断?
让 Claude Code 自动接收 LSP 诊断?这么做就对了
最近在用 Claude Code 写代码,总得来回切到编辑器看 LSP 报错,效率有点拉胯。有没有办法让它直接“看到”诊断信息?有的,下面咱们一步步来。
是什么 & 为什么
LSP(Language Server Protocol)负责把编辑器里的语法、类型、lint 等错误实时提示出来。Claude Code 若能自动拿这些信息,就不用每次我们手动复制粘贴报错再问 AI,节省时间、少踩坑。
前置条件
- 编辑器支持 LSP(VS Code、Neovim 等)。
- Claude Code 已正常配置,并能与你当前工作目录交互。
VS Code 中通过扩展将 LSP 诊断信息输出到文件的配置示例
步骤一:把 LSP 的诊断输出成可读文件
大多数编辑器都能让 LSP 把诊断输出到日志或文件里。我们以 VS Code 为例:
- 安装“Output to File”或类似的扩展,把诊断信息持续写入一个
.diag或.json文件。 - 也可以用编辑器的内置命令或脚本,定期导出当前窗口的诊断。
Claude Code 中监控 LSP 诊断文件的配置示例
目标是:每次报错变动,文件里自动更新出错行、错误级别、消息内容等。
步骤二:让 Claude Code 监控这个文件
在 Claude Code 的配置里,新增一个“文件监听器”,指向刚才的 LSP 诊断文件(比如 diagnostics.txt)。
Claude Code 中自动处理 LSP 诊断的提示词模板示例
配置示例思路:
{
"watch_file": "diagnostics.txt",
"on_change": "read_latest"
}
这样,编辑器一有新错误,Claude Code 就能自动读到最新内容。
步骤三:提示词模版化
把 Claude Code 的提示词改成一个固定模板,每次读完后自动拼接:
当前 LSP 诊断如下:
${latest_diagnostics}
请据此给出一版修复建议(优先最严重的错误)。
这样就实现了:有错自动读,自动问,回答自动来。
注意事项
- 文件路径要绝对路径或相对项目根目录明确下来,避免找不到。
- 频繁读文件会增加 I/O,建议合理设置轮询或监听间隔。
- 错误内容可以按级别过滤,优先只把 Error 与 Warning 传给 Claude,减少噪音。
其他编辑器怎么办
- Neovim:可以用
vim.lsp.diagnostic输出到 buffer,再用脚本写文件;也可以配合lsp_lines等插件把诊断转成文本。 - JetBrains:LSP 插件一般有导出功能;或者写个小插件持续把“问题”面板内容写文件。
小结
本质上就是:
- 把 LSP 的诊断变成文本/JSON 持续写入某文件。
- Claude Code 监听并读取该文件。
- 用提示词模板自动化处理。
折腾完后,写代码时几乎不用切窗口,Claude Code 直接对诊断信息给出解决方案,效率提升不止一点点。你还有哪些小技巧?欢迎在评论区分享~
评论已关闭