Использование .codeassistantignore для управления доступом к файлам в SourceCraft Code Assistant
Важно
Функциональность доступна только в Visual Studio Code.
Файл .codeassistantignore
— это ключевая функция для управления взаимодействием Code Assistant с файлами вашего проекта. Он позволяет указывать файлы и директории, к которым Code Assistant не должен получать доступ или вносить изменения, аналогично тому, как .gitignore
работает для git.
Файл .codeassistantignore
предназначен для защиты конфиденциальной информации, предотвращения случайных изменений артефактов сборки или больших файлов, а также определения области действия Code Assistant в вашем рабочем пространстве.
Создайте файл с именем .codeassistantignore
в корневом каталоге вашего рабочего пространства VS Code. Укажите в этом файле шаблоны, чтобы сообщить Code Assistant, какие файлы и директории игнорировать.
Файл .codeassistantignore
влияет как на инструменты Code Assistant, так и на упоминания контекста, например вложения @directory
.
Code Assistant постоянно отслеживает файл .codeassistantignore
. Любые изменения, которые вы вносите, автоматически загружаются, гарантируя, что Code Assistant всегда использует самые актуальные правила. Сам файл .codeassistantignore
всегда игнорируется по умолчанию, поэтому Code Assistant не может изменить свои собственные правила доступа.
Синтаксис шаблонов
Синтаксис для .codeassistantignore
идентичен .gitignore
. Распространенные примеры:
node_modules/
— игнорируется весь каталогnode_modules
.*.log
— игнорируются все файлы, оканчивающиеся на.log
.config/secrets.json
— игнорируется конкретный файл.!important.log
– исключение. Code Assistant не будет игнорировать этот конкретный файл, даже если существует более общий шаблон, например,*.log
.build/
— игнорируется каталогbuild
.docs/**/*.md
— игнорируются все файлы с расширением.md
в каталогеdocs
и его подкаталогах.
Для полного руководства по синтаксису обратитесь к документации git о .gitignore.
Как инструменты Code Assistant взаимодействуют с .codeassistantignore
Правила .codeassistantignore
применяются ко многим инструментам Code Assistant:
Строгое соблюдение (чтение и запись)
Эти инструменты напрямую проверяют .codeassistantignore
перед любой операцией с файлами. Если файл игнорируется, операция блокируется:
read_file
— игнорируемые файлы не будут читаться.write_to_file
— игнорируемые файлы не будут записываться или создаваться.apply_diff
— к игнорируемым файлам не будет применяться быстрое редактирование.insert_content
— в игнорируемые файлы не будет вестись запись.search_and_replace
— в игнорируемых файлах не будет вестись поиск и замена.list_code_definition_names
— в игнорируемых файлах не будет проводиться анализ на наличие символов кода.
Обнаружение и перечисление файлов
list_files
и вложения@directory
— когда Code Assistant перечисляет файлы или вы используете вложения@directory
, игнорируемые файлы исключаются или помечаются символом 🔒. Оба инструмента используют одинаковую логику фильтрации.- Детали окружения — информация о вашем рабочем пространстве, например открытые вкладки и структура проекта, предоставляемая Code Assistant, фильтруется для исключения или пометки игнорируемых элементов.
Упоминания контекста
- Вложения
@directory
— содержимое директорий учитывает шаблоны.codeassistantignore
. Игнорируемые файлы фильтруются или помечаются префиксом[🔒]
в зависимости от настройкиshowCodeAssistantIgnoredFiles
. - Упоминания отдельных файлов — игнорируемые файлы возвращают
Файл игнорируется настройками .codeassistantignore
вместо содержимого.
Выполнение команд
execute_command
— этот инструмент проверяет, нацелен ли запрос команды из предопределенного списка, например cat
или grep
, на игнорируемый файл. Если да, выполнение блокируется.
Основные ограничения и область действия
Правила .codeassistantignore
применяются только к файлам и директориям в корневой директории рабочего пространства VS Code. Файлы за пределами этой области не затрагиваются.
Защита для инструмента execute_command
ограничена предопределенным списком команд для чтения файлов. Пользовательские скрипты или малораспространенные утилиты могут не обнаруживаться.
.codeassistantignore
— это мощный инструмент для управления доступом Code Assistant к файлам через инструменты, но он не создает песочницу (sandbox) на уровне системы.
Пользовательский опыт и уведомления
В списках файлов и во вложениях @directory
файлы, игнорируемые .codeassistantignore
, могут быть помечены символом (🔒) в зависимости от настройки showCodeAssistantIgnoredFiles
(по умолчанию — true
).
Упоминания отдельных файлов возвращают Файл игнорируется настройками .codeassistantignore
вместо содержимого.
Если операция инструмента блокируется, Code Assistant получает ошибку: Доступ к <путь_к_файлу> заблокирован настройками файла .codeassistantignore. Попытайся продолжить выполнение задачи без использования этого файла или попроси пользователя обновить файл .codeassistantignore
.
Обычно, если действие блокируется из-за .codeassistantignore
, об этом выводится сообщение в интерфейсе чата Code Assistant.