“Càng xài đồ nghề khéo, càng có nhiều time chill cho bản thân.”
1. Sự Tiến Hóa Của Đồ Nghề Dev Nhà Microsoft
1.1 Visual Studio Code
Source
Ảnh này cho thấy Microsoft giàu cỡ nào, nhưng mà VS Code thì miễn phí đó nha!
Ra mắt năm 2015, Visual Studio Code (VS Code) nhanh chóng trở thành “đại ca” trong làng code. Mở nguồn, chạy mượt trên mọi nền tảng, và có cả đống extension như buffet tha hồ xài.
- Sự Thật Chính: Mở nguồn, có bản web, tính năng đầy đủ như IDE xịn.
- 2021: Tích hợp GitHub Copilot, mang AI gợi ý code đỉnh cao.
- 2024: Vẫn là editor code bá cháy, không ai qua mặt nổi.
Mày xài môi trường dev nào thường xuyên trong năm qua, và mày muốn chơi với cái nào năm tới? Tick hết đi!
Nhìn chart này đi, VS Code đứng đầu bảng, mấy IDE khác chỉ biết hít khói.
Tự hỏi sao dân tình mê nó dữ vậy; thử xài đi, mày cũng sẽ mê như điếu đổ!
1.2 GitHub Copilot
“Càng xài đồ nghề khéo, càng có nhiều time chill cho tao.”
-
2014: Microsoft tung plugin Bing Code Search cho Visual Studio, nhưng mà ai thèm xài?
-
2018: Microsoft hốt GitHub với giá 7.5 tỷ đô, làm dân tình xôn xao, thu về đống code khổng lồ để train AI.
-
2019: Microsoft bơm 1 tỷ đô vào OpenAI, chắc để flex cơ bắp.
-
2020: GPT-3 debut, bắt đầu biết sinh code, ngon lành cành đào.
-
2021: Copilot xuất hiện trong VS Code, rồi lan sang JetBrains và Neovim, bá đạo vãi.
-
2022: Copilot bắt đầu thu phí, không trả thì… tự code đi, homie!
Mày xài tool AI nào thường xuyên năm qua, và muốn chơi với tool nào năm tới? Chọn hết đi!
Nhìn chart này, Copilot đứng top, mấy tool khác chỉ là tép riu.
Sử Dụng & Quyền Riêng Tư Của Copilot
Admin chỉ thấy usage chung chung, không thấy code hay prompt của mày đâu, yên tâm đi, không bị soi đâu mà lo!
2. Tính năng nổi bật của GitHub Copilot
2.1 Code Completion
Copilot cung cấp gợi ý thông minh, hiểu ngữ cảnh khi mày gõ code, hỗ trợ nhiều IDE.
Ba cách sử dụng Code Completion:
-
Ghost Text: Khi mày gõ, Copilot hiển thị gợi ý mờ. Nhấn Tab để chấp nhận.
-
Inline Chat: Sử dụng chat nội tuyến (Ctrl+I) để tương tác và sinh code theo hội thoại.
-
Gợi ý từ comment: Viết comment mô tả ý tưởng, Copilot sẽ sinh code phù hợp.
2.2 Tương tác qua cửa sổ chat
-
Chế độ: Có 3 chế độ: Ask, Edit, Agent
Chế độ | Kiểu điều khiển | Tính năng | Phù hợp cho |
---|---|---|---|
Ask | 🟢 Thủ công | Tìm kiếm code trong editor | Học tập, khám phá, debug logic |
Edit | 🟡 Bán tự động | Làm theo chỉ dẫn cụ thể | Refactor, sửa nhanh, thay đổi nhỏ |
Agent | 🔴 Tự động | Tự động hóa, xây dựng tính năng phức tạp | Xây dựng tính năng, workflow tự động |
Ví dụ: Agent hoạt động
Agent tự động chỉnh sửa code, thêm comment debug để kiểm tra.
Agent sử dụng git để revert file khi gặp lỗi.
3. Lựa chọn mô hình AI phù hợp
Mặc định, Copilot Chat sử dụng GPT-4.1 cho phản hồi nhanh, mạnh về code, tóm tắt, suy luận.
Mỗi mô hình có điểm mạnh riêng, mày có thể chọn tuỳ theo nhu cầu.
Model type | Models |
---|---|
Fast coding | • GPT-4o• Claude Sonnet 3.5• Claude Sonnet 3.7• Gemini 2.0 Flash |
Reasoning/planning | • Claude Sonnet 3.7 Thinking• o1• o3-mini |
Chỉ số Rate càng cao, mô hình càng chuyên nghiệp, nhưng hãy cân nhắc nhu cầu thực tế.
Ví dụ:
- Dùng o1 trong Copilot Chat: 1 lần tương tác tính như 10 request premium.
- Dùng GPT-4.1 trên Copilot Free: mỗi lần tương tác tính 1 request.
- Dùng GPT-4.1 trên gói trả phí: không giới hạn request.
4. Mẹo sử dụng prompt với Copilot
4.1 Ba chữ S: Simple, Specific, Short
- Hãy viết prompt ngắn gọn, rõ ràng, tập trung vào mục tiêu.
4.2 Bắt đầu tổng quát, sau đó cụ thể hóa
|
|
4.3 Đưa ví dụ input/output
Nếu mày chưa biết diễn đạt đúng ý, hãy đưa ví dụ input/output để Copilot hiểu nhanh hơn.
4.4 Chia nhỏ tác vụ phức tạp
Thay vì yêu cầu Copilot tạo cả một app, hãy chia nhỏ thành các hàm, chức năng riêng biệt.
- Generate a function that takes a list of destinations and returns the best route.
- Generate a function that takes a list of hotels and returns the best hotel for each destination.
- Generate a function that takes a list of restaurants and returns the best restaurant for each destination.
4.5 Giữ lịch sử chat liên quan
- Xoá hoặc reset các đoạn chat không liên quan để giữ ngữ cảnh rõ ràng.
- Tạo nhiều cửa sổ chat để tách biệt các chủ đề.
4.6 Cung cấp đúng ngữ cảnh
Hãy chọn đoạn code, file, hoặc output terminal liên quan khi đặt câu hỏi cho Copilot.
- Ví dụ: Class audit được sử dụng ở đâu trong #codebase để thêm model auditing?
Tham khảo thêm mẹo trong hướng dẫn chính thức và tại đây.
5. Copilot và “cheat code” về context
Ngữ cảnh là chìa khoá để Copilot đưa ra giải pháp phù hợp. Luôn cung cấp đủ context cho câu hỏi của mày.
- Chọn code: Khi prompt, hãy chọn đoạn code liên quan.
- Thêm file liên quan: Sử dụng nút “Add Context” trong Copilot Chat để thêm file hoặc thông tin cần thiết.
- Hình ảnh: Có thể dán ảnh trực tiếp vào chatbox để bổ sung ngữ cảnh trực quan.
- Mentions: Copilot hỗ trợ nhiều cách chỉ định vị trí trong project hoặc nguồn ngoài:
#file:
: Chỉ định file trong project (vd:#file.py
,#file.js
).#class:
: Tham chiếu class cụ thể (vd:#class MyClass
).#header:
: Chỉ header trong tài liệu (vd:#header MyHeader
).#extensions
: Tìm extension phù hợp nhu cầu (vd:#extensions Tool format code khi save
).#fetch
: Tham chiếu website (vd:ai này là ai #fetch https://hoangyell.com/about/
).#githubRepo
: Tham chiếu repo GitHub (vd:repo này làm gì #githubRepo opendatalab/MinerU
).#problems
: Đề cập lỗi trong tab PROBLEMS (vd:/fix #problems
).#testFailure
: Đề cập lỗi test trong tab TEST (vd:/fix #testFailure
).#codebase:
: Tham chiếu toàn bộ codebase (vd:list hết hàm trong project từ #codebase
).
- Scope (@scope_name): Dùng @scope_name để mở rộng phạm vi context:
@workspace:
: Toàn bộ project (vd:@workspace list vài shortcode trong project này?
). Đây là scope mạnh nhất trong Ask Mode!@terminal:
: Tương tác với terminal (vd:@terminal lấy path thư mục hiện tại
).@github:
: Tương tác với GitHub (vd:@github vài repo của tao
).@vscode:
: Yêu cầu VS Code thực hiện hành động (vd:@vscode đổi theme
).
- Lệnh nhanh: Sử dụng các lệnh như
/fix
,/search
,/explain
,/tests
để tiết kiệm thời gian.
Quản lý thay đổi trong Agent Mode:
- Agent Mode có thể tự động hoá nhiều thao tác, nhưng mày luôn có thể hoàn tác hoặc làm lại bằng các nút Undo/Redo trong chat panel.
- Có thể sử dụng lại prompt cũ bằng phím mũi tên lên.
6. MCP (Model Context Protocol)
Model Context Protocol (MCP) cho phép AI như Copilot kết nối và tương tác với dữ liệu từ nguồn ngoài.
6.1 Ví dụ thực tế
Giả sử mày có một AI Agent xịn (kiểu VS Code + GitHub Copilot) và mê xài app ghi chú (Notion chẳng hạn).
Mày nghĩ: “Giá mà AI Agent đọc/ghi note cho tao thì bá cháy!” 🚀
Nhưng đời không như mơ: app note chưa hỗ trợ MCP, mà mày cũng không biết tự build adapter.
Bỗng một ngày, hacker áo đen 🕵️♂️ xuất hiện trên GitHub:
“Ê! Tao build sẵn MCP adapter cho Notion rồi. Đưa API key đây, xài phê luôn!” ✨
Mày hí hửng: “Trời, đúng cái tao cần!” 🤩 Cắm vào — boom! AI Agent đọc/ghi note mượt như mơ. Đời đẹp.
…cho đến vài hôm sau — check ví crypto (Metamask) thì… 💸 Trắng bóc. Hết sạch.
Tại sao? Vì mày tin nhầm server MCP lạ hoắc — nó làm man-in-the-middle 🕵️, chôm hết:
- API key 🔑
- Thông tin cá nhân
- Thậm chí dùng note của mày để phishing!
6.2 Sử dụng MCP an toàn
Nghe ghê chưa? Đừng lo, đây là cách xài MCP an toàn:
Cách 1: Tự build MCP server
-
Hướng dẫn: https://modelcontextprotocol.io/quickstart/server
-
Github: https://github.com/HoangYell/simple-mcp-vscode
-
Lưu ý: Phải biết API app note trước đã
Cách 2: Dùng server MCP chính thức (Khuyên dùng)
- Bật trong VSCode: chat.mcp.enabled
- Danh sách server chính chủ: https://code.visualstudio.com/mcp
- Có Notion, GitHub, Sentry, Figma, v.v.
- Có Notion, GitHub, Sentry, Figma, v.v.
- Tài liệu
Checklist bảo mật
- ✅ Chỉ dùng server chính chủ hoặc tự build
- ✅ Biết rõ nguồn gốc server
- ❌ Đừng share API key cho server lạ
- ❌ Đừng tin mấy ông lạ trên mạng
7. ToolSet
ToolSet = Agent Prompt + Limited Declared Tools
Giúp Agent biết rõ công cụ nào được phép xài, tránh lạm dụng MCP như dân chơi lạm dụng hack tool.
Nói nôm na: ToolSet là danh sách “đồ nghề” mà Agent được phát, không có trong list thì khỏi mơ xài! Đỡ bị lộ hàng, đỡ bị ban acc, đỡ bị AI làm loạn repo.
|
|
8. 📬 Tuỳ chỉnh Custom Instructions
VS Code Copilot hỗ trợ tuỳ chỉnh instructions cho nhiều trường hợp:
Type of instruction | Description |
---|---|
Chat behavior | github.copilot.chat.chat.instructions - Điều chỉnh phong cách hội thoại, độ dài, tone của Copilot trong chat. |
Code generation | github.copilot.chat.codeGeneration.instructions - Hướng dẫn Copilot sinh code theo chuẩn, ngôn ngữ, hoặc pattern mong muốn. |
Test generation | github.copilot.chat.testGeneration.instructions - Định nghĩa cách sinh unit test, framework, kiểu assert, độ phủ. |
Code review | github.copilot.chat.reviewSelection.instructions - Đưa guideline review code: chất lượng, bảo mật, tối ưu. |
Commit message generation | github.copilot.chat.commitMessageGeneration.instructions - Tuỳ chỉnh commit message theo chuẩn team. |
Pull request title and description generation | github.copilot.chat.pullRequestDescriptionGeneration.instructions - Hướng dẫn Copilot sinh tiêu đề, mô tả PR rõ ràng, đầy đủ thông tin. |
8.1 Chuẩn bị instruction files
Tạo file file-name.instructions.md
cho từng loại, ví dụ:
component-feature-checklist.instructions.md
code-review-checklist.instructions.md
auto-commit-message-complement.instructions.md
Mẹo định nghĩa custom instructions
- Giữ ngắn gọn, rõ ràng.
- Tách thành nhiều file để dễ quản lý.
- Đưa vào version control.
- Dùng
applyTo
để chỉ định phạm vi áp dụng.
|
|
- Tham chiếu file instruction trong prompt để giữ prompt sạch.
8.2 Tuỳ chỉnh vị trí file instructions
Bạn có thể thay đổi vị trí mặc định của instruction files trong settings VS Code bằng cách chỉ định glob patterns cho thư mục chứa .instructions.md
.
8.3 Cách sử dụng
Ví dụ: Custom instruction cho commit message tự động
Settings -> github.copilot.chat.commitMessageGeneration
- Dùng file
.instructions.md
hoặc text trực tiếp trong settings
|
|
Lưu ý: Bạn có thể dùng instructions để định nghĩa luôn cả integration test, end-to-end test, và các phương pháp assert cho team. Đừng ngại sáng tạo, miễn là Copilot hiểu đúng ý bạn!
8.4 Ví dụ cấu hình
Tham chiếu file instructions trong .vscode/settings.json
:
|
|
Với những ví dụ cấu hình này, mày có thể tuỳ biến Copilot để nó sinh code, review, test, commit message, pull request… đúng chuẩn team mày, khỏi lo lạc đề hay lạc style. Đúng chất “băng đảng” code, ai vào cũng phải nể!
9. Tổng kết
🎯 Context Là Vua:
Luôn đưa context chuẩn—chọn code, mention file, dùng scope như @workspace
hay #file:
để Copilot hiểu mày muốn gì. Đừng để nó đoán mò như newbie!
🛠️ Chọn Mode Chuẩn:
Dùng Ask để học và khám phá, Edit để refactor hay fix nhanh, Agent để tự động hoá workflow phức tạp hay build feature. Chọn đúng mode, làm chủ cuộc chơi!
💡 Prompt Hiệu Quả:
Viết prompt đơn giản, cụ thể, ngắn gọn. Chia nhỏ task to, cho ví dụ, làm từng bước để ra kết quả ngon. Đừng spam Copilot bằng mấy câu hỏi trời ơi đất hỡi!
🔍 Tận Dụng Chat và Tool:
Xài Copilot Chat, lệnh context, toolset để workflow mượt mà. Lệnh nhanh như /fix
, /explain
, /tests
tiết kiệm time vãi.
🔒 Ưu Tiên Bảo Mật:
Chỉ xài MCP server chính thức hoặc tự build. Đừng share thông tin nhạy cảm với nguồn lạ. Check code Copilot cho chắc ăn, kẻo dính phốt thì chỉ có nước “khóc tiếng Miên”.
⚙️ Cá Nhân Hoá và Tự Động:
Tuỳ chỉnh Copilot với file instructions, template commit, kiểu sinh code để hợp chuẩn team mày và phong cách mày. Đừng để AI làm loạn repo!
📈 Giữ Quyền Kiểm Soát:
Copilot là “co-pilot”, vậy ai là pilot? Mày chứ ai! Đừng để nó vượt mặt mày, không là code thành mớ bòng bong, khóc không kịp.
🚀 Tiếp Tục Khám Phá:
Copilot và VS Code tiến hoá nhanh vãi. Update feature mới, thử model khác, share kinh nghiệm với cộng đồng.
🤝 Hợp Tác và Chia Sẻ:
Share instructions, chiến thuật prompt, toolset với team để ai cũng pro như mày.
Với mấy đúc kết này, mày sẽ biến Copilot thành cánh tay phải, code nhanh hơn, xịn hơn, và an toàn hơn. Chơi tới bến đi, homie!