ctrl+space无反应是因语言服务器未运行,需先确认右下角语言模式正确(非plain text)、存在tsconfig.json/jsconfig.json或python解释器路径配置准确,并确保editor.quicksuggestions设为{"other": true, "comments": false, "strings": false}。

Ctrl+Space 按了没反应,先查语言服务有没有真跑起来
不是补全“不准”,是压根没加载——VSCode 的智能感知完全依赖语言服务器(LSP)进程,它挂了、没启、或启动失败,Ctrl+Space 就只会弹出空列表或几个全局变量。
关键检查点:
- 右下角状态栏必须显示正确语言名(如
Python、TypeScript),不能是Plain Text或Unknown;点它手动切换 - 打开命令面板(
Cmd+Shift+P/Ctrl+Shift+P),运行Developer: Toggle Developer Tools,看 Console 里有没有Failed to start language server for 'python'这类报错 - TS/JS 项目必须有
tsconfig.json或jsconfig.json(哪怕内容只是{}),否则tsserver退化为只认console和document - Python 用户重点确认
python.defaultInterpreterPath是否指向真实虚拟环境路径(如./venv/bin/python),不是系统自带的/usr/bin/python3
补全开关被悄悄关掉了,editor.quickSuggestions 是命门
很多人装完 Pylance 或 TypeScript 插件就以为万事大吉,结果 os. 不提示 os.path.join,user. 不列属性——大概率是这个配置被 GUI 设置覆盖或设错了。
editor.quickSuggestions 必须设为:{"other": true, "comments": false, "strings": false}
否则普通代码块中函数、变量、类名等基础补全根本不会触发。
还要顺手检查这几个开关是否开着:
-
editor.suggest.showVariables:关掉后连当前作用域变量都不显示 -
editor.suggest.showKeywords:关掉后if、for、return不进建议框 -
editor.suggest.snippetsPreventQuickSuggestions:设为true时,写for会优先弹代码片段,把函数补全压到后面甚至不显示
IntelliCode 补全不冒头?得手动拉它出来
IntelliCode 的 AI 推荐默认和普通 IntelliSense 合并呈现,但置信度高的建议常被低优先级项淹没。它不会主动抢镜,得你点名要。
触发高置信 AI 补全的方法:
- 输入前缀(如
arr.、response.),然后按Ctrl+Space—— 这次不是唤普通补全,而是强制刷新建议池 - 确保右下角显示的是
Pylance (IntelliCode)或TypeScript Server (IntelliCode),不是纯Pylance - 如果没看到 AI 标识,运行命令
IntelliCode: Configure IntelliCode Model,选语言 +Project-specific model,它会在.vscode/intellicode.json里存配置并下载模型缓存
Python 补全失效?解释器路径和额外索引路径缺一不可
Pylance 不是靠猜,它只分析它“看得见”的代码。模块不在工作区、没进 site-packages、路径没声明,就等于不存在。
必须核对两项:
-
python.defaultInterpreterPath:必须指向激活的 venv 解释器(如./venv/bin/python),Poetry 用户需先poetry install,再在 VS Code 中重新运行Python: Select Interpreter -
python.analysis.extraPaths:如果你的模块在../shared/utils.py或用了src/布局,就得显式加进去,例如:"python.analysis.extraPaths": ["../shared", "src"]
多根工作区(multi-root workspace)下,补全不会跨文件夹生效——每个子文件夹都得有自己的 pyproject.toml 或 __init__.py,且 extraPaths 要相对各自根目录写。











