VS Code 的 IntelliSense 不工作通常因语言服务未启动、配置错误或项目缺关键文件;应先检查扩展启用状态、语言模式、LSP 服务器运行情况及项目配置文件(如 tsconfig.json、pyproject.toml)是否完备。

VS Code 的 IntelliSense 不工作,通常不是“坏了”,而是语言服务没起来、配置没对上、或者项目环境缺关键文件。直接修比重装插件更有效。
检查对应语言扩展是否已安装并启用
IntelliSense 依赖具体语言的官方或社区扩展(比如 Python 需要 ms-python.python,TypeScript 内置但需开启 typescript.preferences.includePackageJsonAutoImports)。禁用/冲突的扩展会直接导致提示空白。
- 打开扩展视图(
Ctrl+Shift+X),搜索语言名,确认状态为「已启用」且无黄色警告图标 - 临时禁用所有非必要扩展,只留语言支持扩展,重启 VS Code 后测试
- 某些扩展(如
tabnine或旧版python)会劫持补全逻辑,优先级高于默认语言服务
确认文件关联与语言模式正确
VS Code 按当前编辑器右下角显示的语言模式(如「Python」、「TypeScript React」)加载对应语言服务。如果显示为「Plain Text」或错误类型,IntelliSense 就不会触发。
- 点击右下角语言标识 → 选择正确语言(例如
.ts文件应为TypeScript,不是JavaScript) - 检查文件后缀是否被映射错:在设置中搜
files.associations,确认类似"*.vue": "vue"这类配置没把本该走 TS 的文件导向了其他语言 - 对
.js文件启用 TS 检查需手动开启javascript.suggestionActions.enabled
验证语言服务器是否正常启动
很多语言(如 Python、Go、Rust)依赖外部语言服务器(LSP)进程。进程崩溃、路径错误或权限问题都会让 IntelliSense 停摆,但界面不报错。
- 打开命令面板(
Ctrl+Shift+P)→ 运行Developer: Toggle Developer Tools→ 切到 Console 标签,看是否有Failed to start language server或spawn ENOENT - Python 用户重点检查
python.defaultInterpreterPath是否指向有效解释器;Go 用户确认go.gopath和go.toolsGopath设置合理 - 终端里手动运行语言服务器二进制(如
pyright --version或gopls version),验证能否执行
项目级配置缺失或冲突
IntelliSense 很多行为依赖项目根目录下的配置文件(jsconfig.json、tsconfig.json、pyproject.toml 等)。空项目或错误配置会导致路径解析失败、类型无法推导。
- TypeScript/JS 项目必须有
tsconfig.json或jsconfig.json,哪怕只有{};否则模块解析和导入提示基本失效 - Python 项目若用 Poetry/Pipenv,确保
python.defaultInterpreterPath指向虚拟环境内的python,而非系统全局路径 - 检查
.vscode/settings.json中是否误设了"editor.suggest.showWords": false或"editor.quickSuggestions": false
最常被忽略的是:语言服务器启动需要时间,尤其首次打开大型项目时,状态栏显示「Starting…」却没人等它完成;还有就是工作区设置了 "files.exclude" 把 node_modules/@types 或 typings 目录排除了,类型定义根本读不到。










