VSCode IntelliSense 不触发的首要原因是文件未被识别为正确语言模式,需点击右下角语言标签手动选择,或安装对应扩展、保存为带后缀文件;其次检查 TS/JS 服务是否启用、配置是否有效、扩展是否冲突;Python 项目则需确认 Pylance 正常加载及解释器路径正确。

检查当前文件是否被 VSCode 识别为正确语言模式
IntelliSense 不触发,最常见原因是 VSCode 没把当前文件当成你期望的语言。比如打开一个 .js 文件,右下角显示的是 Plain Text 而非 JavaScript,那所有语言服务(包括补全、跳转、类型提示)都会静默失效。
- 点击 VSCode 窗口右下角的语言模式标签(如
Plain Text),选择对应语言(如JavaScript、TypeScript、Python) - 若列表中没有目标语言,先安装对应官方扩展(如
ms-vscode.vscode-typescript-next或ms-python.python) - 对未保存的临时文件(如 Untitled-1),务必先保存为带后缀的文件(如
index.ts),否则语言模式不会自动激活
确认 TypeScript/JavaScript 语言服务已启用(TS/JS 项目专用)
VSCode 内置的 TS/JS IntelliSense 依赖 tsserver,但它可能被禁用、卡死或加载失败,尤其在大型项目或使用了 jsconfig.json/tsconfig.json 时。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并执行Developer: Toggle Developer Tools,切换到Console标签页,查找类似tsserver process exited或Failed to load project的报错 - 在项目根目录检查是否存在
tsconfig.json或jsconfig.json;若存在但配置错误(如"include"路径不存在、"compilerOptions.types"引用了未安装的包),会导致服务启动失败 - 尝试在命令面板运行
TypeScript: Restart TS server,强制重载服务
验证扩展冲突与禁用内置语言功能
某些第三方扩展(尤其是旧版 Linter、Formatter 或“全能型”语言包)会覆盖或干扰 VSCode 原生语言服务,导致补全菜单空白或延迟极高。
- 启动 VSCode 时加参数
code --disable-extensions,测试原生环境是否恢复提示;若恢复,说明有扩展冲突 - 逐个禁用可疑扩展:重点排查
Auto Import、Path Intellisense、JavaScript (ES6) code snippets等高频插件 - 检查设置中是否误关了关键选项:
editor.suggest.showMethods、editor.suggest.showVariables、editor.quickSuggestions都应设为true
Python 项目需确认 Pylance 是否正常加载
Python 用户的 IntelliSense 主要由 Pylance 提供,它不依赖 python.defaultInterpreterPath 就能工作,但若 Python 解释器路径错误、或 pyrightconfig.json 配置不当,仍会退化为仅基础文本补全。
- 确认已安装官方扩展
ms-python.pylance(而非仅ms-python.python) - 按
Ctrl+Shift+P运行Python: Select Interpreter,确保指向有效的 Python 环境(如venv/bin/python或miniconda3/envs/myenv/python) - 打开命令面板,执行
Pylance: Restart Language Server;观察状态栏是否显示Pylance (v2024.x.x)且无红色警告图标 - 若项目含
pyproject.toml或pyrightconfig.json,检查其中include、exclude是否意外过滤了源码目录
{
"include": ["src/**/*"],
"exclude": ["**/node_modules/**", "**/__pycache__/**"]
}
语言服务不是“开箱即用”的黑盒——它高度依赖文件路径、配置有效性、进程健康度和扩展协同。哪怕只有一处 tsconfig.json 中的 "baseUrl" 拼错,或一个扩展悄悄劫持了 textDocument/completion 请求,IntelliSense 就会彻底沉默。









