Skip to main content

问题引用

问题引用让 Careti 能即时访问工作区中的所有错误和警告。只需输入 @problems,Careti 就能看到 VSCode 检测到的每个诊断问题。

在聊天中输入 @ 时,从菜单中选择"问题"或直接输入 @problemsCareti 会立即看到工作区中的所有错误和警告,包括文件位置和错误消息。

当我遇到构建错误或 TypeScript 问题时,我经常使用问题引用。不用尝试描述错误或逐个复制它们,我只需询问:

我遇到这些 TypeScript 错误,不确定如何修复: @problems

你能帮我理解哪里出错了以及如何修复吗?

这让 Careti 获得完整的错误列表及其确切的位置和消息。然后 Careti 可以分析多个错误的模式并提出全面的解决方案。

问题引用与文件引用结合使用时特别强大。当我处理复杂的类型错误时,我会同时引用两者:

我遇到这些类型错误: @problems

这是我的组件: @/src/components/DataTable.tsx
这是类型文件: @/src/types/api.ts

我该如何修复这些问题?

这种方法为 Careti 提供了所需的一切 - 确切的错误、组件代码和类型定义 - 所有这些都无需我手动复制任何内容。

下次遇到错误困扰时,尝试使用 @problems 而不是复制错误消息。您将获得更准确的帮助,因为 Careti 可以看到完整的错误上下文和位置。

工作原理

当您在消息中使用问题引用时,后台发生的情况如下:

  1. 当您发送消息时,Careti 会检测文本中的 @problems 模式
  2. 扩展调用 VSCode 的内置 vscode.languages.getDiagnostics() API 来获取所有错误和警告
  3. 它将这些诊断信息格式化为带有文件路径、行号和错误消息的结构化文本表示
  4. 格式化的问题列表以结构化格式附加到您的消息中:
    <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>
  5. 这条包含嵌入式诊断信息的增强消息被发送给 AI
  6. AI 现在可以"看到"工作区中的所有错误和警告,包括它们的位置和消息

每当您使用问题引用时,这个过程都会自动发生,让 AI 全面了解工作区中的所有问题,而无需手动复制。