一、最重要的一点:Copilot = “读注释写代码”
👉 Copilot 对「上下文」极其敏感
1️⃣ 先写“好注释”,再让它写代码
Copilot 不是凭空写代码,它是在补全文本。
错误示例
def calc():
正确示例
def calc_average(values: list[float]) -> float:
"""
计算一组数的平均值
- 忽略 None
- 列表为空时抛异常
"""
👉 再敲回车,Copilot 通常直接把函数体写完整,而且风格还挺靠谱。
📌 技巧总结
- 注释写得像需求文档
- Copilot 就像一个初级工程师照着需求写代码
二、让 Copilot “按你的架构来”
你做过:
- 后台服务
- 系统架构设计
- Unity / Three.js
- Linux / 嵌入式
这类项目结构比语法重要。
2️⃣ 先写“骨架代码”
例如:
// 用户服务
public class UserService {
// 校验用户权限
public boolean checkPermission(User user, Action action) {
Copilot 会倾向于:
- 不乱引入新类
- 使用你当前文件已有的 import
- 保持你正在用的设计风格
📌 口诀
架构你定,Copilot 填肉
三、学会“拒绝”它(这点非常关键)
3️⃣ 不要盲目 Tab
Copilot 的代码:
- 80% 很好
- 15% 勉强能用
- 5% 是“看起来对,其实埋雷”
👉 你要做的是:
- 看 2 秒
- 想清楚逻辑
- 再 Tab
📌 特别注意:
- 并发 / 线程安全
- IO / 网络 / 文件操作
- 安全校验
- 边界条件
这些地方 Copilot 很容易“想当然”。
四、用它写「重复劳动」,不是「核心逻辑」
4️⃣ 最适合 Copilot 的任务
✅ CRUD
✅ DTO / VO / Entity
✅ Getter / Setter
✅ 参数校验
✅ 日志代码
✅ 单元测试模板
✅ JSON / YAML / 配置类
示例:生成单元测试
// 使用 JUnit5 为 UserService 编写单元测试
Copilot 通常能一次生成:
- 正常路径
- 异常路径
- Mock 框架代码
五、写测试是 Copilot 的隐藏强项 ⭐
5️⃣ 反向使用:让它“帮你找 bug”
写完函数后:
# 为上述函数编写 pytest 单元测试,覆盖边界情况
你会发现:
- 它会想到你没想到的 case
- 有时直接暴露逻辑漏洞
👉 这是高级用法:
不是让它写代码,而是让它挑战你的代码
六、在 VS / VSCode 里的实用操作技巧
6️⃣ 多看“候选方案”
Alt + ]/Alt + [:切换不同补全方案- 有时候 第二个方案明显更优
7️⃣ 行级 vs 块级
- 行尾补全:适合小改动
- 空行回车:容易生成整块逻辑
👉 想要“多写一点”,就多留点空白
七、Copilot Chat 才是“架构助手”
你可以直接问它:
“这段代码在高并发下有没有问题?”
“这个设计违反了哪些 SOLID 原则?”
“帮我把这个逻辑改成事件驱动模式”
📌 注意
- Chat 更适合:设计、解释、重构
- Inline Copilot 更适合:写代码
八、对你这种工程背景的建议(很重要)
结合你之前:
- 软考系统架构设计师
- 嵌入式 + 后端 + 前端
👉 最佳使用姿势是:
你 = 架构师
Copilot = 初级工程师 + 打字员
不要让它替你做判断
要让它替你省时间
九、最后一句实话
Copilot 不会让菜鸟变高手
但会让高手效率翻倍
如果你愿意,下次你可以:
- 贴一段你现在正在写的代码
- 或告诉我你常用的语言(Java / C# / Python / JS / C++)
我可以 按你的实际项目,给你一套“定制 Copilot 用法”。