Как Эффективнее Использовать GitHub Copilot. Начало
Для большинства разработчиков важно использовать подходящие функции Copilot для тех задач, которые уже стоят перед вами. Наибольший прогресс обычно проявляется, когда вы начинаете использовать чат для поиска ответов и агента для выполнения задач. Visual Studio, Visual Studio Code, Copilot CLI и облачный агент — каждый инструмент отлично подходит для разных типов задач. Вопрос не в том, какой из них «самый продвинутый», а в том, какой из них подходит для работы, которую я выполняю прямо сейчас?
Реальные примеры использования чата
Чат полезен, когда требуется объяснение, сравнение, планирование или целевая генерация кода на основе вашего реального проекта.
Пример 1: Понимание сервиса перед его изменением в VS
Предположим, вы открываете существующий сервис ASP.NET Core и обнаруживаете класс с пятью зависимостями, несколькими флагами функций и бизнес-правилами, скрытыми в длинном методе. Прежде чем его изменять, используйте чат, чтобы сориентироваться.
Промпт:
Объясни, за что отвечает сервис, определи ключевые зависимости и укажи, какие части относятся к бизнес-логике, а какие — к инфраструктурным задачам. Затем предложи безопасный первичный рефакторинг, который не изменит поведение.
Это гораздо лучше, чем просить о слепой переработке кода, и поможет вам понять существующую кодовую базу.
Пример 2: Создание тестов для бизнес-логики в VS
Представьте, что у вас есть метод ценообразования, который применяет скидки, ограничения и бонусы клиента. Вы можете написать первый тест для проверки работоспособности самостоятельно, а затем использовать чат для проверки граничных случаев.
Промпт:
Создай модульные тесты для этого метода, используя стиль тестирования этого проекта. Охвати граничные случаи скидок, обработку нулевых входных данных и случай, когда общая сумма ограничена. Объясни любые граничные случаи, которые легко пропустить.
Бонус: в VS, используйте Test Agent. В VS Code или CLI, используйте dotnet-test skill для достижения наилучших результатов. Это важный сценарий использования, поскольку нужны и результаты, и объяснение.
Пример 3: Планирование рефакторинга до изменения кода
Допустим, в контроллере слишком много логики, и вы хотите перенести проверку и оркестровку в сервис. Чат полезен перед редактированием.
Промпт:
Просмотри это действие контроллера и предложи рефакторинг, который перенесёт оркестровку в сервис без изменения HTTP-контракта. Покажи итоговую структуру контроллера, интерфейс сервиса и модульные тесты, которые нужно обновить.
Перед этим войдите в режим планирования, и Copilot создаст подробный план. Это хорошо работает в VS, т.к. вы уже видите соответствующие файлы и структуру решения.
Пример 4: Использование VS Code, когда изменение затрагивает код и конфигурацию
Распространённый сценарий в .NET — изменение API, описания OpenAPI, файла развёртывания и документации за один проход. Здесь поможет VS Code.
Промпт:
Я добавляю новый необязательный фильтр регионов к этой конечной точке. Обнови обработчик ASP.NET Core, скорректируй описание OpenAPI и найди любые конфигурации, документацию или клиентский код, которые также могут потребовать изменений.
Здесь чат начинает восприниматься не как автозаполнение, а как коллега по работе. Он может помочь вам мыслить в масштабах всего репозитория, а не только файла перед вами.
Пример 5: Copilot CLI для анализа ошибки сборки
Если dotnet test или dotnet build завершаются с ошибкой, CLI — естественное место для работы, поскольку ошибка уже отображается в терминале.
Промпт:
Объясни эту ошибку сборки простым языком, укажи, какой проект её вызвал, и предложи команды, которые я должен выполнить, чтобы сузить круг поиска.
Это лучше, чем копировать сообщение об ошибке в поисковую систему, потому что в CLI есть контекст вашего репозитория и цикла команд.
Окончание следует…
Источник: https://devblogs.microsoft.com/dotnet/doing-more-with-github-copilot/