用 Copilot 久了,就会明白它是一把双刃剑。自动补全在大多数时候能省下重复敲模板的功夫,但碰上特定场景——比如正儿八经练算法题,刚写下 def solution(,它就兴冲冲地把整个函数给你补全了,很影响思路。另外不同语言的补全风格也不一样,有时候跟团队规范冲突,还得手动改来改去。频繁全局开关显然不够用,VSCode 其实内置了更细粒度的控制,可以按语言禁用,或者绑个快捷键随时切换。
全局禁用:三种常规操作
完全关掉补全最简单,适合需要高度专注的编码训练,或者某些不方便用 AI 辅助的项目。
状态栏一键开关
VSCode 右下角有个小帆船图标,点一下会弹出菜单,选 Disable Completions 就行。这个操作是临时性的,重启后恢复,适合集中精力解决复杂问题时随手关掉。
设置里彻底关闭
进设置(Ctrl+, / Cmd+,),搜 github.copilot.enable,把勾选取消。这种方式是全局永久禁用,除非你再手动改回来。配置文件里会多出这一行:
"github.copilot.enable": false
工作区级覆盖
如果只针对某个项目不想用,可以在项目根目录的 .vscode/settings.json 里加上同样的配置。这样只影响当前项目,别的项目不受干扰。
按语言禁用:让 Copilot 在某些语言里闭嘴
真正实用的还是按语言控制。比如平时写 Python 想用补全,但改 Markdown 时不想被自动提示打扰。打开设置,搜 github.copilot.enable,点 Edit in settings.json,可以直接写这样:
"github.copilot.enable": {
"*": true,
"markdown": false,
"python": false
}
意思就是对所有文件默认启用,但在 Markdown 和 Python 里禁用。语言标识符按 VSCode 的 languageId 来写,比如 javascript、typescript、java、go 等,支持通配符。
这种配置支持嵌套和覆盖,你还可以在子文件夹的 settings.json 里进一步细化。
快捷键:随手切换的另一种姿势
有时候懒得改配置,只想用快捷键快速开关。VSCode 提供了两个命令:

