VS Code 默认补全仅限变量名和括号,需配置LSP插件、正确路径、启用相关设置并重启主进程才能实现智能提示。

VS Code 默认的代码补全能力很弱,不装插件、不调配置,基本只能补变量名和括号——这不是“智能提示”,只是语法高亮附带的副产品。
装对插件:TypeScript 和 Python 用户别只认准 Pylance 或 TS Server
真正驱动智能提示的是语言服务器(LSP),不是“代码补全插件”这种模糊名称的扩展。关键看它背后是否启用标准 LSP:
-
Pylance是 Python 最优选,但它依赖python扩展提供解释器路径;如果python.defaultInterpreterPath指向错误环境,Pylance会静默降级为仅基础补全 - TypeScript 项目必须确保工作区根目录下有
tsconfig.json,否则TypeScript and JavaScript Language Features(内置)会退化为仅识别 JS 原生 API - 写 React?光有
ES7+ React/Redux/React-Native snippets不提供类型感知补全;要靠Prettier+ESLint配合typescript-eslint规则才能推导 JSX 属性类型
改对设置:"editor.suggest.showKeywords" 这类开关影响实际体验
很多提示“失效”,其实是被显式关掉了某类候选。打开 settings.json 检查以下几项:
-
"editor.suggest.showFunctions": true—— 否则函数名不会出现在补全列表中(尤其在 import 后调用时) -
"editor.suggest.showVariables": true—— 关闭后连当前作用域变量都不提示 -
"editor.quickSuggestions": {"other": true, "comments": false, "strings": false}—— 字符串内默认不触发建议,但写模板字符串(如`url: ${)时需设为true才能补变量 -
"editor.acceptSuggestionOnCommitCharacter": true—— 关掉后按.或(不自动确认补全,必须敲Tab或Enter
路径与环境:Python 虚拟环境没激活,import numpy 就永远不提示
VS Code 不自动继承终端的 PATH 或虚拟环境激活状态。补全失败常因解析器找不到包:
- 按
Ctrl+Shift+P输入Python: Select Interpreter,手动指向venv/bin/python(macOS/Linux)或venv\Scripts\python.exe(Windows) - 确认
python.defaultInterpreterPath在settings.json中未被硬编码为系统 Python 路径 - 若用 Poetry,需额外安装
poetry install并在 VS Code 中重选 interpreter,否则poetry add requests后仍不提示requests.get
调试提示失效:先看 Developer: Toggle Developer Tools 里的错误
当补全突然变“笨”,不要立刻重装插件。打开开发者工具(F1 → Developer: Toggle Developer Tools),切换到 Console 标签页,筛选 error:
- 出现
Cannot find module 'typescript'→ TypeScript 插件在用全局 TS,但项目用的是node_modules/.bin/tsc,需配"typescript.preferences.includePackageJsonAutoImports": "auto" - 看到
Connection to server got closed→ 通常是Pylance或JavaScript and TypeScript Nightly版本与 VS Code 内核不兼容,降级到上一个稳定版即可 - 大量
Failed to load file提示路径含中文或空格 → VS Code 对非 ASCII 工作区路径支持不稳定,临时改到C:/project类路径验证是否为此问题
最常被忽略的点:重启窗口(Developer: Reload Window)不能代替重启 VS Code 主进程——某些语言服务器启动后会缓存环境变量,只有彻底关闭再打开才生效。










