Hướng dẫn Copilot bằng ngữ cảnh

Phát triển phần mềm với GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Tầm quan trọng của ngữ cảnh

Phát triển phần mềm với GitHub Copilot

Tầm quan trọng của ngữ cảnh

Phát triển phần mềm với GitHub Copilot
Phát triển phần mềm với GitHub Copilot

Biến #codebase

$$

#codebase: Thực hiện tìm kiếm ngữ nghĩa trên toàn dự án

Prompt mẫu:

Xác thực người dùng được xử lý thế nào? #codebase

Kết quả:

  • 🔍 Quét toàn bộ codebase
  • 💻 Đưa logic, lời gọi hàm, hoặc cấu hình liên quan vào câu trả lời
Phát triển phần mềm với GitHub Copilot

Cách Copilot hiểu codebase của bạn

Các loại chỉ mục:

  • Chỉ mục cục bộ: Lưu trên máy của bạn
  • Chỉ mục từ xa: Cho các kho lưu trữ trên GitHub
Phát triển phần mềm với GitHub Copilot

Kiểm tra loại chỉ mục của bạn

Phát triển phần mềm với GitHub Copilot

Kiểm tra loại chỉ mục của bạn

Phát triển phần mềm với GitHub Copilot

Biến #changes

$$

#changes: Tham chiếu các thay đổi kiểm soát phiên bản gần nhất

Prompt mẫu:

Bất kỳ thay đổi nào có làm hỏng luồng đăng nhập không? #changes

Dùng khi:

  • 💾 Đánh giá sửa đổi mã
Phát triển phần mềm với GitHub Copilot

Biến #selection

$$

#selection: Tham chiếu các khối mã được bôi đen

Prompt mẫu:

Bạn có thể refactor phần này không? #selection

Dùng khi:

  • 🔧 Chỉnh nhanh
  • 📝 Tạo prompt có mục tiêu
Phát triển phần mềm với GitHub Copilot

Biến #fetch

  • Tài liệu 📚, tham chiếu API 💻, bài blog 📰

$$

#fetch: Lấy nội dung một trang web

Prompt mẫu:

Tóm tắt tài liệu này giúp tôi #fetch https://example.com/docs

Kết quả:

  • 🌐 Tải một trang web và dùng làm ngữ cảnh
Phát triển phần mềm với GitHub Copilot

Biến #files

$$

#files: Đính kèm tệp cụ thể vào prompt

Prompt mẫu:

Bạn kiểm tra tệp này xem có vấn đề xử lý lỗi không? #files:utils/data_loader.py

Kết quả:

  • 🔍 Phân tích nội dung tệp được tham chiếu
  • 📄 Thêm vào ngữ cảnh của prompt
Phát triển phần mềm với GitHub Copilot

Các biến và công cụ chat khác

$$

Biến/công cụ Mô tả
#search Cho phép tìm kiếm tệp trong không gian làm việc hiện tại.
#testFailure Lấy thông tin lỗi unit test. Hữu ích khi chạy và chẩn đoán test.
#problems Thêm lỗi/sự cố từ bảng Problems vào ngữ cảnh. Hữu ích khi sửa mã hoặc gỡ lỗi.
#terminalLastCommand Lấy lệnh terminal chạy gần nhất và đầu ra của nó.
#githubRepo Tìm kiếm mã trong một repo GitHub.
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
Phát triển phần mềm với GitHub Copilot
Phát triển phần mềm với GitHub Copilot

Xây dựng tương tác chat tiến dần

Một prompt phức tạp duy nhất:

Thêm tích hợp PostgreSQL với xác thực, lưu bền, phiên, xử lý lỗi, và pooling kết nối

Luồng tăng dần độ phức tạp:

  1. Cách tốt nhất để thêm lưu bền cơ sở dữ liệu? #codebase
  2. Triển khai kết nối cơ sở dữ liệu theo cách được đề xuất
  3. Hỗ trợ thiết kế schema cho lớp Task và User
  4. Thêm quản lý phiên và xử lý lỗi cơ bản
  5. ...
Phát triển phần mềm với GitHub Copilot

Bắt đầu chat mới để xóa ngữ cảnh

Phát triển phần mềm với GitHub Copilot

Bắt đầu chat mới để xóa ngữ cảnh

Phát triển phần mềm với GitHub Copilot

Phát triển phần mềm với GitHub Copilot

Ayo berlatih!

Phát triển phần mềm với GitHub Copilot

Preparing Video For Download...