GitHub Copilot技巧

别只把 Copilot 当成输入法的自动补全
很多人用 Copilot 的习惯是:写个函数名,然后干等着它蹦出代码。
这种用法极其被动。真正高效的姿势是“注释驱动开发”。
上周我在重构一个处理 JSON 异常的模块。如果我直接写 try { ... },Copilot 给我的建议往往非常平庸,甚至会带入一些过时的语法。
但如果我先写一行极其详尽的注释:// 这里的逻辑是:解析用户上传的 profile.json,如果发现字段 'age' 缺失,不要报错,而是默认设为 18,并记录一个 warning 日志到 debug.log
这时候 Copilot 的表现简直像变了个人。它不仅写出了逻辑,连 fs.appendFileSync 的具体调用细节都根据我之前的代码风格拟好了。
这种“指令式注释”能极大地减少逻辑偏移。你可以去 提示词分享 频道看看,其实把 Prompt 的思维挪到代码注释里,效率能提升起码 30%。
几个能救命的快捷键和命令
如果你还在用鼠标去点那个小图标,效率肯定低。
我整理了几个我每天都要用的“肌肉记忆”指令,建议直接记在便利贴上:
| 动作 | 快捷键 (Windows/Linux) | 快捷键 (macOS) | 实际体感 |
| :--- | :--- | :--- | :--- |
| 接受建议 | Tab | Tab | 最基本的,但也最容易按错 |
| 逐个查看建议 | Alt + [ 或 ] | Option (⌥) + [ 或 ] | 当第一个建议太烂时,这是神技 |
| 打开 Copilot Chat 侧边栏 | Ctrl + Shift + I | Cmd + Shift + I | 快速问问题,不用切换窗口 |
| 选中代码并询问 | Ctrl + I | Cmd + I | 最强组合,直接在行内改代码 |
上周五改 Bug 时,我遇到一个极其隐晦的异步竞争问题。我没去翻 Stack Overflow,而是直接选中那几行报错的代码,按下 Cmd + I,输入:Why is this causing a race condition?
它立刻指出了我没写 await 的位置。这比你自己盯着那几百行代码找逻辑要快得多。
如何处理那些“一本正经胡说八道”的建议
Copilot 也有翻车的时候。

我遇到过最离谱的一次,是它试图在我的 React 组件里用一个已经废弃的 API。这种“幻觉”如果不加干预,会给你埋下巨大的技术债。
解决办法很简单:上下文喂养。
Copilot 的预测逻辑是基于你当前打开的所有文件标签页(Tabs)的。如果你正在写一个复杂的 AI编程实战 项目,记得把相关的类型定义文件(.d.ts)或者相关的工具类文件也打开着。
当你的编辑器里堆满了相关的上下文,Copilot 的准确度会从“大概齐”变成“精准打击”。
别被信息差挡在门外
现在的 AI 工具迭代速度太快了,如果你还停留在“用它写个循环”的阶段,很容易被甩开。
有时候,单纯研究工具没用,得看别人是怎么把工具嵌入到工作流里的。我会经常去刷一刷 行业动态,看看最近大模型的能力边界又挪到了哪里。
比如,最近一些开发者开始尝试用 Copilot 来写单元测试。
我的实测对比数据如下:
当然,这建立在一个前提下:你得能看懂它写的测试用例对不对。如果你的基础太差,Copilot 生成的代码只会让你产生“我懂了”的错觉。
一个实用的技巧:用伪代码“骗”出复杂逻辑
如果你要写一个逻辑非常复杂的正则或者算法,直接写函数名往往拿不到好结果。
试试这个骚操作:
1. 先写一段极其详细的伪代码注释。
2. 每一行伪代码都写清楚逻辑步骤。
3. 然后按回车。
我上周三尝试用这个方法写一个复杂的日期区间校验逻辑。
错误示范:// 校验日期是否在范围内 -> Copilot 给出的建议非常简单,甚至没处理时区问题。
高级示范:// 1. 获取 start_date 和 end_date// 2. 转换成 UTC 时间戳// 3. 检查是否合法// 4. 返回布尔值
当你把步骤拆解开,Copilot 的“思维链”就被你接管了。它会按照你给出的步骤,逐行填充代码。这种控制感,才是高手和小白的分水岭。
全部回复 (0)
还没有回复,来发第一条吧!