Site logo
Authors
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Published on
Published on

Tối ưu hóa GitHub Copilot với Custom Instructions

GitHub Copilot là trợ lý lập trình AI-driven mạnh mẽ giúp các nhà phát triển viết code nhanh hơn và chính xác hơn. Tuy nhiên, để tận dụng tối đa Copilot, bạn cần tinh chỉnh hành vi của nó bằng Hướng dẫn tùy chỉnh. Bằng cách điều chỉnh phản hồi của nó theo sở thích, phong cách code và nhu cầu của dự án, bạn có thể tăng đáng kể năng suất trong quy trình làm việc của mình.

Trong hướng dẫn này, chúng ta sẽ khám phá cách cải thiện hiệu quả GitHub Copilot bằng cách sử dụng Custom Instructions, đảm bảo nó phù hợp với phong cách mã code và yêu cầu của dự án.

Tại Sao Custom Instructions Quan Trọng

  • Nhất quán - Consistency: Đảm bảo Copilot tuân theo phong cách và tiêu chuẩn mã hóa của bạn một cách nhất quán
  • Hiệu quả - Efficiency: Giảm nhu cầu phải sửa lại các gợi ý của Copilot nhiều lần
  • Chất lượng - Quality: Giúp tạo ra mã code phù hợp hơn với yêu cầu của dự án
  • Khả năng học theo - Learning: Giúp Copilot thích nghi với chuyên môn và sở thích của bạn

Cách Bật và Sử Dụng Custom Instructions

  1. Mở Cài Đặt Vscode
  • Sử dụng phím tắt Cmd + Shift + P (Mac) hoặc Ctrl + Shift + P (Windows) để mở command palette và nhấp vào Open User Settings
  1. Bật Custom Instructions
    • Tìm kiếm github.copilot.chat.codeGeneration.useInstructionFiles và bật nó lên

Github Copilot Custom Instruction

  1. Tạo tập tin Github custom instructions
  • Tạo một tệp .github/copilot-instructions.md trong thư mục gốc của dự án
  1. Tạo nội dung cho Github custom instructions
  • Định nghĩa các hướng dẫn tùy chỉnh của bạn trong tệp copilot-instructions.md. Bạn có thể sử dụng ngôn ngữ tự nhiên theo định dạng Markdown
  • Các hướng dẫn có thể được viết thành một đoạn văn duy nhất, mỗi đoạn trên một dòng mới hoặc được phân cách bằng các dòng trống để dễ đọc.
  1. Ví dụ về nội dung file .github/copilot-instructions.md:
# Coding standards
- Use TypeScript for type safety
- Follow Airbnb JavaScript style guide
- Use ESLint and Prettier for formatting
- We always write JavaScript with double quotes and tabs for indentation, so when your responses include JavaScript code, please follow those conventions.

# Project preferences  
- Prefer functional programming patterns
- Use React hooks over class components
- Write unit tests using Jest

Demo Github Custom Instructions trong Vscode

Mở một tệp code mới và bắt đầu viết code. GitHub Copilot sẽ luôn sử dụng Github Custom Instructions của bạn để cung cấp gợi ý phù hợp. Thử tạo 2 dự án, 1 dự án với Github Custom Instructions và 1 dự án không có Github Custom Instructions. So sánh kết quả và thấy sự khác biệt.

Dự án 1 - Không sử dụng Github Custom Instructions

  • Mở Copilot Editor và sử dụng prompt sau: Generate CRUD service for a User entity
  • Xem kết quả: TBD

Dự án 2 - Sử dụng Github Custom Instructions

  • Thêm nội dung sau vào tập tin .github/copilot-instructions.md
TBD
  • Mở Copilot Editor và sử dụng prompt sau: Generate CRUD service for a User entity
  • Xem kết quả: TBD

Các Custom Instructions Cần Thiết

Định Nghĩa Sở Thích Của Bạn

GitHub Copilot cung cấp hai khu vực chính để tùy chỉnh:

  • "Bạn muốn GitHub Copilot phản hồi như thế nào?"
  • "Bạn muốn GitHub Copilot biết gì về bạn để cung cấp gợi ý tốt hơn?"

Bạn có thể sử dụng các trường này để chỉ định:

  • Ngôn ngữ lập trình và framework ưa thích của bạn.
  • Hướng dẫn coding và cài đặt cụ thể cho dự án.
  • Comment về phong cách coding ưa thích của bạn (ví dụ: "Sử dụng các mẫu lập trình functional").
  • Tránh các mẫu cụ thể (ví dụ: "Không sử dụng var, luôn sử dụng const hoặc let trong JavaScript").

Best Practices khi sử dụng Custom Instructions

Dưới đây là một số mẹo để tối ưu hóa trải nghiệm GitHub Copilot của bạn:

1️⃣ Cụ Thể - Be Specific

Rõ ràng định nghĩa những gì bạn mong đợi từ Copilot. Thay vì nói:

"I prefer readable code."

Hãy thử:

"Ensure all function names are descriptive and use camelCase. Prefer explicit variable names over short abbreviations."

2️⃣ Phù Hợp Với Hướng Dẫn Của Nhóm

Nếu bạn đang làm việc trong một nhóm, hãy đặt ra các hướng dẫn mà mọi người đều tuân theo. Ví dụ:

"Sử dụng React với TypeScript. Tuân theo hướng dẫn phong cách JavaScript của Airbnb. Sử dụng ESLint và Prettier để định dạng."

3️⃣ Cải Thiện Comments

Khuyến khích Copilot tạo ra các Comments có ý nghĩa:

"Tạo docstrings chi tiết cho các hàm trong Python theo Comments kiểu Google."

4️⃣ Tối Ưu Hóa Cho Hiệu Suất & Bảo Mật

Hướng dẫn Copilot tránh mã không an toàn hoặc không hiệu quả:

"Tránh sử dụng eval() trong JavaScript. Đề xuất fetch() thay vì XMLHttpRequest. Luôn sử dụng truy vấn có tham số để ngăn chặn SQL injection."

5️⃣ Giữ Nó Ngắn Gọn

Mặc dù hướng dẫn chi tiết rất hữu ích, tránh làm Copilot quá tải với quá nhiều thông tin. Giữ các điểm chính của bạn có cấu trúc và dễ hiểu.

Ví Dụ Về Custom Instructions

Dưới đây là một ví dụ về thiết lập Custom Instructions được cấu trúc tốt:

"Bạn muốn GitHub Copilot biết gì về bạn?"

  • Always follow Airbnb’s JavaScript style guide and uses ESLint and Prettier.
  • We prioritize performance, security, and maintainability.

"Bạn muốn GitHub Copilot phản hồi như thế nào?"

  • Provide concise, readable, and well-structured code suggestions.
  • Prefer modern JavaScript ES6+ features.
  • Avoid unnecessary dependencies and suggest efficient algorithms.
  • Generate comments that explain complex logic in simple terms.

📌 Kết Luận

Tùy chỉnh GitHub Copilot với Custom Instructions có thể cải thiện đáng kể quy trình phát triển của bạn. Bằng cách tinh chỉnh các phản hồi của nó để phù hợp với phong cách mã hóa và nhu cầu dự án của bạn, bạn có thể làm cho Copilot trở thành một trợ lý lập trình mạnh mẽ hơn.

Nguồn Tham Khảo

Các phần tiếp theo