npm intellisense需同时满足三个条件才启动:项目根目录有有效package.json、node_modules非空、当前文件语言模式为javascript或typescript;还需开启autoimports、禁用冲突扩展、配置jsconfig.json的baseurl和paths及include字段。

npm Intellisense 插件装了但 import 里不弹模块名?不是插件坏了,而是它根本没启动——三个硬条件缺一不可。
npm Intellisense 启动的三个必要条件
它不会主动扫描、也不会“尽力而为”,只在严格满足以下全部条件时才工作:
- 项目根目录存在有效的
package.json(不是子文件夹里的,也不是空文件或语法错误) -
node_modules目录非空(终端执行ls node_modules或dir node_modules应看到大量子文件夹;若为空或报错,立刻npm install) - 当前文件语言模式为
JavaScript或TypeScript(右下角状态栏必须显示这两个之一;若为Plain Text,按Ctrl+Shift+P→ 输入Change Language Mode手动切换)
import { 后没补全?检查 autoImports 和冲突扩展
即使上述条件都满足,import 语句仍不提示模块名,大概率是 VSCode 没开启自动导入建议,或别的扩展抢了控制权:
- 打开
settings.json(Cmd+, → 右上角“打开设置(JSON)”),确认这两行存在且为true:"javascript.suggest.autoImports": true"typescript.suggest.autoImports": true - 禁用名字含
Auto Import、Path Intellisense、Import Cost的扩展——它们和 npm Intellisense 在同一路径解析阶段竞争,一山不容二虎 - 禁用后,按
Cmd+Shift+P运行Developer: Restart TS Server,再新开一个.js文件测试import {是否弹出列表
补全列表全是 lodash-es、debug 这类底层包?你缺 jsconfig.json
npm Intellisense 默认只认 node_modules 里的包名,对项目内路径别名(如 @src/utils)或本地 src/ 模块完全无感。结果就是业务模块沉底,乱码包刷屏:
- 在项目根目录新建
jsconfig.json(TS 项目用tsconfig.json) - 至少包含基础配置以启用路径映射:
{ "compilerOptions": { "baseUrl": ".", "paths": { "@src/*": ["src/*"], "@components/*": ["src/components/*"] } }, "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"], "exclude": ["node_modules"] } - 保存后再次运行
Developer: Restart TS Server,补全列表会立即按paths规则排序,业务模块浮到顶部
最常被忽略的是 jsconfig.json 的 include 字段——如果漏写 "**/*.js",VSCode 就不会把 JS 文件纳入索引,哪怕路径别名配得再漂亮,Intellisense 也视而不见。











