Appearance
Kiro Diagnostics 会结合已安装的 IDE 语言扩展,把实时错误、类型信息、lint 和项目语义提供给 agent。它不需要额外配置,但需要先安装对应语言扩展并打开目标语言文件来激活 language server。
Kiro Diagnostics:让 agent 读取 IDE 扩展里的代码问题
Kiro Diagnostics tool 的作用,是让 Kiro agent 能看到 IDE 已经知道的代码问题。比如语法错误、类型不匹配、编译问题、lint 规则和语言服务器提供的语义信息。
这对 AI IDE 很重要。没有 diagnostics 时,agent 只能根据文件内容猜测;有了 diagnostics,它能更接近一个正在使用 IDE 的开发者,直接利用语言扩展提供的反馈。
它如何工作
Kiro 会和你安装的 IDE extensions 集成。如果你安装了对应语言扩展,Kiro 可以访问:
- 实时错误检测:语法错误、类型不匹配、编译问题。
- 语言特定信息:语义、imports、依赖关系。
- 代码质量分析:lint 规则、风格违规、最佳实践提示。
- 上下文感知:项目结构、可用 API、类型定义。
这意味着,当你让 Kiro 修复 TypeScript 错误、Java 报错或 Python lint 问题时,它可以从 IDE 的诊断结果出发,而不是只靠自然语言描述。
如何启用
基本流程很简单:
- 安装目标语言对应的扩展。
- 打开该语言的文件,让 language server 激活。
- 正常让 Kiro agent 执行任务。
Diagnostics tool 会在 agent 执行过程中自动工作,不需要额外配置。
官方语言指南中会列出推荐扩展,例如 Python、TypeScript / JavaScript、Java 等。实际使用时,建议先确保你在 Kiro 里打开项目后,IDE 本身已经能显示问题列表。
和 dev server 怎么配合
Diagnostics 更偏静态分析,例如类型、语法、lint。Dev server 或 build watcher 更偏运行时构建反馈,例如 Next.js 编译、webpack watch、测试监听。
二者一起用更完整:
text
Check the build watcher output and show me any TypeScript errorsKiro 可以同时读取后台进程输出和 diagnostics,帮助你更快定位问题。详见 Kiro Dev Servers。
排查 diagnostics 不生效
如果 Kiro 没有检测到代码问题,可以按顺序检查:
- Extension Status:确认语言扩展已启用。
- Output Panel:查看 language server 是否报错。
- Reload Window:通过 command palette 重新加载窗口。
- Update Extensions:更新扩展到较新版本。
- 打开目标语言文件:有些 language server 需要打开文件后才会启动。
常见问题
Q: Kiro Diagnostics 需要手动配置吗?
A: 通常不需要。只要安装并启用语言扩展,打开目标语言文件后,Kiro 会在 agent 执行中自动使用 diagnostics。
Q: Diagnostics 能替代测试吗?
A: 不能。它适合发现类型、语法和 lint 问题;功能正确性仍需要测试和构建验证。
Q: 为什么 Kiro 看不到我的 TypeScript 错误?
A: 先确认 TypeScript / JavaScript 扩展或 language server 正常启动,并检查 Output Panel 是否有报错。