问题引用
问题引用让 Careti 能即时访问工作区中的所有错误和警告。只需输入 @problems,Careti 就能看到 VSCode 检测到的每个诊断问题。
在聊天中输入 @ 时,从菜单中选择"问题"或直接输入 @problems。Careti 会立即看到工作区中的所有错误和警告,包括文件位置和错误消息。
当我遇到构建错误或 TypeScript 问题时,我经常使用问题引用。不用尝试描述错误或逐个复制它们,我只需询问:
我遇到这些 TypeScript 错误,不确定如何修复: @problems
你能帮我理解哪里出错了以及如何修复吗?
这让 Careti 获得完整的错误列表及其确切的位置和消息。然后 Careti 可以分析多个错误的模式并提出全面的解决方案。
问题引用与文件引用结合使用时特别强大。当我处理复杂的类型错误时,我会同时引用两者:
我遇到这些类型错误: @problems
这是我的组件: @/src/components/DataTable.tsx
这是类型文件: @/src/types/api.ts
我该如何修复这些问题?
这种方法为 Careti 提供了所需的一切 - 确切的错误、组件代码和类型定义 - 所有这些都无需我手动复制任何内容。
下次遇到错误困扰时,尝试使用 @problems 而不是复制错误消息。您将获得更准确的帮助,因为 Careti 可以看到完整的错误上下文和位置。
工作原理
当您在消息中使用问题引用时,后台发生的情况如下:
- 当您发送消息时,Careti 会检测文本中的
@problems模式 - 扩展调用 VSCode 的内置
vscode.languages.getDiagnostics()API 来获取所有错误和警告 - 它将这些诊断信息格式化为带有文件路径、行号和错误消息的结构化文本表示
- 格式化的问题列表以结构化格式附加到您的消息中:
<workspace_diagnostics>
/path/to/file.js:10:5 - error TS2322: Type 'string' is not assignable to type 'number'.
/path/to/file.js:15:3 - warning: This variable is never used.
</workspace_diagnostics> - 这条包含嵌入式诊断信息的增强消息被发送给 AI
- AI 现在可以"看到"工作区中的所有错误和警告,包括它们的位置和消息
每当您使用问题引用时,这个过程都会自动发生,让 AI 全面了解工作区中的所有问题,而无需手动复制。