最彻底禁用AI补全是卸载插件并清理settings.json残留配置;关editor.quickSuggestions可屏蔽所有弹窗但失去原生提示;仅停AI补全需调整触发字符;本地模型未必隐私安全,须验证端口监听与遥测开关。

直接禁用插件最彻底,但别误删其他依赖
如果你压根不想让任何AI代码片段出现在编辑器里,最干净的做法就是卸载或禁用对应插件。CodeGeeX、Tabnine、GitHub Copilot 这三类插件都支持一键禁用——进扩展面板(Ctrl+Shift+X),找到名字匹配的条目,点齿轮选“卸载”即可。
容易踩的坑是:有些插件会悄悄绑定语言服务器(LSP)或修改editor.suggest全局行为,卸载后仍残留补全弹窗。这时得顺手检查settings.json里有没有残留配置,比如"codegeex.enableCompletion": false或"tabnine.experimentalLocalModel": true这类开关,建议一并删掉。
关掉 quickSuggestions 就能屏蔽所有弹窗
VS Code 的补全弹窗本质由editor.quickSuggestions控制,它不认插件是谁,只看这个开关开没开。设成false,连原生 JavaScript 的函数提示、变量名联想都会消失——这才是真正“视觉清净”的方案。
实操建议:
打开settings.json,加这一行:
"editor.quickSuggestions": false
注意别只关某一种类型(比如只设
"other": false),否则strings或comments里还会冒建议。
副作用很明显:你将失去所有语言自带的智能提示,包括 TypeScript 接口字段、Python 的 os.path. 方法列表。适合写脚本或临时查错时快速切换,不适合长期关闭。
只停 AI 补全但保留原生提示:改 suggestOnTriggerCharacters
想留着 VS Code 自带的符号联想(比如输入.后看到方法列表),又不让 AI 在你敲两个字母就跳出来干扰,关键在editor.suggestOnTriggerCharacters和延迟参数。
Tabnine 默认在输入 2 字符后触发,Copilot 更激进;而原生提示只响应.、[、"这类符号。你可以把 AI 插件的触发字符清空:
- 对 Tabnine:在
settings.json中加"tabnine.triggerCharacters": [] - 对 Copilot:确保
"github.copilot.enableInlineSuggestion": false且"editor.suggestOnTriggerCharacters": true(保持原生符号触发) - CodeGeeX 则靠
"codegeex.enableCompletion": false单独关掉
这样既保住了array.map(后自动出参数提示的能力,又不会在写const user时被 AI 抢答。
本地模型 ≠ 隐私安全,得看它到底连没连外网
很多人以为开了 Tabnine Local 或用 OpenCode + vLLM 就万事大吉,其实不是。本地模型服务(如vllm.entrypoints.openai.api_server)默认监听0.0.0.0:8000,如果防火墙没关紧,局域网其他设备也能访问你的推理端口;更隐蔽的是某些插件会在首次启动时偷偷上报设备指纹或模型加载日志。
验证是否真离线:
Mac/Linux 执行lsof -i :8000,确认只有localhost连接;Windows 用netstat -ano | findstr :8000,看 PID 对应进程是不是你启动的 Python 实例。
再打开插件设置页,逐项排查有没有类似"telemetry.enabled"或"analytics.upload"的隐藏开关——这些往往藏在“Advanced Settings”折叠区里,不点开根本看不到。
真正的隐私底线不是“我在本地跑模型”,而是“我的代码字节没离开过内存”。这点,连很多开源项目文档都不会明说。


















