Skip to main content

Упоминания папок

Упоминания папок позволяют вам переносить целые каталоги в ваш разговор с Careti. Просто введите /\@ и путь к папке, заканчивающийся слэшем, и Careti получит доступ к структуре папок и их содержимому.

Когда вы вводите /\@ в чате, Careti показывает ваши рабочие файлы и папки. Перейдите к нужной папке, не забудьте добавить завершающий слэш, и Careti увидит структуру и содержимое папки.

Я использую упоминания папок, когда мне нужна помощь в понимании или рефакторинге целого раздела моей кодовой базы. Вместо того, чтобы ссылаться на отдельные файлы один за другим, я могу просто указать на весь каталог:

Я пытаюсь понять, как работает поток аутентификации в моем приложении.
Можете ли вы объяснить структуру и взаимосвязи между файлами в /\@/src/auth/?

Careti может видеть все файлы в каталоге auth, их содержимое и то, как они связаны друг с другом. Это дает ему полный контекст для объяснения сложных взаимодействий между несколькими файлами.

Упоминания папок также идеально подходят для получения помощи в организации проекта. Когда я не уверен, имеет ли моя структура проекта смысл, я попрошу Careti проверить ее:

Я настраиваю новый React project. Имеет ли эта структура папок смысл? /\@/src/
Что бы вы изменили, чтобы сделать его более удобным в сопровождении по мере роста проекта?

В следующий раз, когда вы будете работать с несколькими связанными файлами, попробуйте использовать упоминания папок вместо того, чтобы ссылаться на каждый файл в отдельности. Вы получите более полную помощь, потому что Careti сможет увидеть общую картину того, как все взаимосвязано.

Как это работает под капотом

Когда вы используете упоминание папки в своем сообщении, вот что происходит за кулисами:

  1. Когда вы отправляете сообщение, Careti обнаруживает шаблон /\@/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>

    <file_content path="path/to/folder/file2.js">
    [File content]
    </file_content>
    </folder_content>
  7. Это расширенное сообщение со встроенной структурой папок и содержимым файлов отправляется в AI.

  8. AI теперь может "видеть" как структуру каталогов, так и содержимое файлов внутри этого каталога.

Этот процесс происходит автоматически всякий раз, когда вы используете упоминание папки, предоставляя AI всестороннее представление о структуре вашего проекта и содержимом файлов.