Skip to main content

文件夹引用

文件夹引用让您可以将整个目录带入与 Caret 的对话中。只需输入 @/ 后跟以斜杠结尾的文件夹路径,Caret 就可以访问文件夹结构及其内容。

当您在聊天中输入 @/ 时,Caret 会显示您的工作区文件和文件夹。导航到您想要的文件夹,确保包含尾部斜杠,Caret 就能看到文件夹的结构和内容。

当我需要帮助理解或重构代码库的整个部分时,我使用文件夹引用。与逐一引用单个文件不同,我可以直接指向整个目录:

我正在尝试理解我应用中的身份验证流程是如何工作的。
您能解释一下 @/src/auth/ 中文件的结构和关系吗?

Caret 然后可以看到 auth 目录中的所有文件、它们的内容以及它们之间的关系。这为它提供了完整的上下文来解释多个文件之间的复杂交互。

文件夹引用也非常适合获得项目组织方面的帮助。当我不确定项目结构是否合理时,我会要求 Caret 进行审查:

我正在建立一个新的 React 项目。这个文件夹结构合理吗?@/src/
您会改变什么来使其在项目增长时更具可维护性?

下次您处理多个相关文件时,尝试使用文件夹引用而不是单独引用每个文件。您将获得更全面的帮助,因为 Caret 可以看到一切如何组合在一起的更大图景。

底层工作原理

当您在消息中使用文件夹引用时,以下是幕后发生的情况:

  1. 当您发送消息时,Caret 在您的文本中检测 @/path/to/folder/ 模式(带尾部斜杠)

  2. 扩展相对于您的工作区根解析文件夹路径

  3. 它调用 fs.readdir() 获取该文件夹中所有文件和子目录的列表

  4. 对于目录中的每个文件,它检查是否为二进制或基于文本的

  5. 对于文本文件,它提取完整内容

  6. 文件夹结构和文件内容以结构化格式附加到您的消息中:

    <folder_content path="path/to/folder">
    ├── file1.txt
    ├── file2.js
    └── subfolder/

    <file_content path="path/to/folder/file1.txt">
    [文件内容]
    </file_content>

    <file_content path="path/to/folder/file2.js">
    [文件内容]
    </file_content>
    </folder_content>
  7. 这个带有嵌入文件夹结构和文件内容的增强消息被发送给 AI

  8. AI 现在可以"看到"目录结构和该目录内文件的内容

每当您使用文件夹引用时,这个过程会自动发生,为 AI 提供项目结构和文件内容的全面视图。