Команды с / в SourceCraft Code Assistant

Важно

Функциональность доступна только в Visual Studio Code.

Создавайте пользовательские команды с / для автоматизации повторяющихся задач и расширения функциональности Code Assistant с помощью простых файлов Markdown.

Введите / в чате, чтобы увидеть все доступные команды, или создайте свои собственные, добавив файл Markdown в .codeassistant/commands/ или ~/.codeassistant/commands/.

Преимущества:

  • Автоматизация рабочего процесса — превратите сложные многошаговые процессы в единые команды.
  • Стандартизация команд — делитесь командами с вашими коллегами для обеспечения согласованных практик.
  • Сохранение контекста — включайте контекст, специфичный для проекта, в каждую команду.
  • Быстрый доступ — поиск и автозаполнение для мгновенного обнаружения команд.

Совет

Используйте через преднастроенные команды быстрые действия Code Assistant: Нейроревью с текущей веткой, Нейроревью с основной веткой, Описание коммита, Рефакторинг кода, Генерация тестов.

Создание пользовательских команд

Пользовательские команды расширяют функциональность Code Assistant, добавляя файлы Markdown в определенные директории:

  • Специфичные для проекта команды располагаются в .codeassistant/commands/ в каталоге вашего рабочего пространства.
  • Глобальные команды располагаются в ~/.codeassistant/commands/ в вашем домашнем каталоге.

Имя файла становится именем команды. Например:

  • review.md/review
  • test-api.md/test-api
  • deploy-check.md/deploy-check

Примечание

При создании команд через пользовательский интерфейс имена команд обрабатываются автоматически:

  • Преобразуются в нижний регистр.
  • Пробелы заменяются на дефисы.
  • Специальные символы, кроме дефисов, удаляются.
  • Несколько последовательных дефисов заменяются на один.
  • Удаляются начальные и конечные дефисы.

Например My Cool Command! становится my-cool-command.

Базовый формат команды

Создайте простую команду, добавив файл Markdown:

# review.md
Пожалуйста, проверь этот код на:
* Проблемы с производительностью.
* Уязвимости безопасности.
* Нарушения стиля кода.
* Потенциальные ошибки.

Расширенная команда с метаданными

Добавьте метаданные для расширенной функциональности:

---
description: Комплексный обзор кода с акцентом на безопасность и производительность
argument-hint: <файл или директория для проверки>
---
# Обзор кода с приоритетом безопасности
Пожалуйста, выполни тщательный обзор безопасности выбранного кода:
1. Аутентификация и авторизация:
    * Проверь правильность контроля доступа.
    * Убедись в проверке токенов.
    * Проверь разрешения.

2. Валидация ввода:
    * Определи потенциальные точки инъекций.
    * Проверь правильность очистки данных.
    * Проверь валидацию типов данных.

3. Лучшие практики безопасности:
    * Ищи секреты в коде.
    * Проверь безопасность связи.
    * Проверь обработку ошибок на предмет утечки информации.

Поля метаданных:

  • description — отображается в меню команд, чтобы помочь пользователям понять назначение команды.
  • argument-hint — (опционально) предоставляет подсказку об ожидаемых аргументах при использовании команды. Подробнее см. Подсказки аргументов.

Использование команд с /

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

Начните вводить текст, чтобы отфильтровать команды. Например при вводе /sam будет отображаться sample-command-name.

Вы можете просмотреть описания команд в меню.

Команды проекта переопределяют глобальные команды с тем же именем.

Подсказки аргументов

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

Когда вы вводите /, чтобы открыть меню команд, команды, ожидающие аргументы, отображают подсказку. Эта подсказка указывает, какой тип аргумента ожидается.

Например:

  • /mode <mode_slug> — подсказка <mode_slug> указывает, что нужно указать имя режима, например, code или debug.
  • /api-endpoint <endpoint-name> <http-method> — показывает, что нужны как имя конечной точки, так и HTTP-метод.

После выбора команды она будет вставлена в поле ввода чата с пробелом.

Примечание

Подсказка не вставляется в чат. Это только визуальное руководство, чтобы помочь вам понять, что вводить дальше. Затем вы должны вручную ввести аргумент после команды.

Добавление подсказок аргументов к пользовательским командам

Вы можете добавить подсказки аргументов к вашим пользовательским командам, используя поле argument-hint в метаданных команды:

---
description: Создайте новую конечную точку REST API с лучшими практиками
argument-hint: <имя-конечной-точки> <http-метод>
---

В меню команд это будет отображаться как /api-endpoint <имя-конечной-точки> <http-метод>.

Рекомендации

Именование команд:

  • Используйте описательные, ориентированные на действие имена.
  • Держите имена лаконичными, но понятными.
  • Используйте дефисы для многословных команд.
  • Избегайте общих имен, таких как help или test.

Содержание команд:

  • Начинайте с четкого указания.
  • Используйте структурированные форматы (списки, разделы).
  • Включайте конкретные требования.
  • Ссылайтесь на общие соглашения проекта.
  • Держите команды сосредоточенными на одной задаче.

Организация:

  • Группируйте связанные команды в подкаталоги.
  • Используйте согласованные шаблоны именования.
  • Документируйте сложные команды.
  • Контролируйте версии ваших команд.
  • Делитесь командами в репозитории проекта.