Керування Copilot за допомогою контексту

Розробка програмного забезпечення з GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Важливість контексту

Розробка програмного забезпечення з GitHub Copilot

Важливість контексту

Розробка програмного забезпечення з GitHub Copilot
Розробка програмного забезпечення з GitHub Copilot

Змінна #codebase

$$

#codebase: Виконує семантичний пошук коду по всьому проєкту

Приклад запиту:

How is user authentication handled? #codebase

Результат:

  • 🔍 Сканує весь код бази
  • 💻 Відповідь включає відповідну логіку, виклики функцій або налаштування
Розробка програмного забезпечення з GitHub Copilot

Як Copilot розуміє вашу кодову базу

Типи індексів:

  • Локальний індекс: Зберігається на вашій машині
  • Віддалений індекс: Для репозиторіїв на GitHub
Розробка програмного забезпечення з GitHub Copilot

Перевірка типу вашого індексу

Розробка програмного забезпечення з GitHub Copilot

Перевірка типу вашого індексу

Розробка програмного забезпечення з GitHub Copilot

Змінна #changes

$$

#changes: Посилається на найсвіжіші зміни в системі контролю версій

Приклад запиту:

Will any of these changes break the login flow? #changes

Використовуйте, коли:

  • 💾 Оцінюєте зміни в коді
Розробка програмного забезпечення з GitHub Copilot

Змінна #selection

$$

#selection: Посилається на виділені блоки коду

Приклад запиту:

Can you refactor this? #selection

Використовуйте, коли:

  • 🔧 Потрібно швидко виправити
  • 📝 Створюєте прицільні запити
Розробка програмного забезпечення з GitHub Copilot

Змінна #fetch

  • Документація 📚, API-довідка 💻, публікація в блозі 📰

$$

#fetch: Завантажує вміст вебсторінки

Приклад запиту:

Summarize this documentation for me #fetch https://example.com/docs

Результат:

  • 🌐 Отримує вебсторінку та використовує її як контекст
Розробка програмного забезпечення з GitHub Copilot

Змінна #files

$$

#files: Додає конкретні файли до запиту

Приклад запиту:

Can you check this file for error handling issues? #files:utils/data_loader.py

Результат:

  • 🔍 Аналізує вміст зазначеного файлу
  • 📄 Додає його до контексту запиту
Розробка програмного забезпечення з GitHub Copilot

Інші змінні й інструменти чату

$$

Variable/tool Description
#search Увімкнути пошук файлів у поточному робочому просторі.
#testFailure Отримати інформацію про збої модульних тестів. Корисно під час запуску та діагностики тестів.
#problems Додати проблеми з панелі Problems як контекст. Корисно під час виправлення коду або налагодження.
#terminalLastCommand Отримати останню команду термінала та її вивід.
#githubRepo Виконати пошук коду в репозиторії GitHub.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Розробка програмного забезпечення з GitHub Copilot
Розробка програмного забезпечення з GitHub Copilot

Побудова поступової взаємодії в чаті

Один складний запит:

Add PostgreSQL integration with authentication, persistence, sessions, error handling, and connection pooling

Поступове ускладнення:

  1. What's the best approach for adding database persistence? #codebase
  2. Implement the database connection using the suggested approach
  3. Help me with the schema design for the Task and the User classes
  4. Now add session management and basic error handling
  5. ...
Розробка програмного забезпечення з GitHub Copilot

Початок нового чату для очищення контексту

Розробка програмного забезпечення з GitHub Copilot

Початок нового чату для очищення контексту

Розробка програмного забезпечення з GitHub Copilot

Розробка програмного забезпечення з GitHub Copilot

Давайте потренуємось!

Розробка програмного забезпечення з GitHub Copilot

Preparing Video For Download...