Path Intellisense 插件需启用且无冲突,仅在 import/require、HTML/CSS/JSON 特定路径上下文中生效;别名路径依赖 jsconfig.json/tsconfig.json 配置、空或严格匹配的 mappings 设置及重启 TS Server;补全默认省略扩展名,需手动配置 extensionPaths 并确保文件存在;语言模式必须为 JavaScript/TypeScript。

Path Intellisense 插件必须启用且无冲突
路径补全不是 VSCode 内置功能,而是依赖 Path Intellisense 插件实现的。装完不等于能用——常见失效原因是被其他插件干扰,比如 Auto Import 或旧版 Path Autocomplete。检查方式很简单:打开命令面板(Ctrl+Shift+P),输入 Extensions: Show Enabled Extensions,确认 Path Intellisense 在列表中且状态为「Enabled」;同时禁用所有名称含 “path”、“auto import”、“autocomplete”的同类插件。
路径上下文必须匹配语法结构
插件只在明确语义的路径上下文中触发,不是所有字符串都算数。它识别的合法位置包括:
-
import或require()的模块路径参数 - HTML 中
src、href、data-src等属性值 - CSS/SCSS 中
@import和url()内容 - JSON 文件里被 schema 标记为路径字段的值(如
package.json的"main"字段,需配json.schemas)
而 console.log('./')、const path = './'、拼接字符串 "./" + name 这类写法,插件直接忽略——语言服务没把它当路径处理,开再多设置也没用。
别名路径(如 @/components)补不全?三处硬性校验缺一不可
别名不是插件猜出来的,它必须从项目配置里读取真实映射。漏掉任意一项都会导致 @/ 按 Tab 没反应:
- 项目根目录存在
jsconfig.json或tsconfig.json,且含"baseUrl"和"paths"(例如"@/*": ["src/*"]) -
path-intellisense.mappings设置为空(推荐),或与tsconfig严格一致(手动填错一个斜杠就失效) - 执行命令面板中的
Developer: Restart TS Server—— 不重启,TS 缓存仍按旧配置解析
注意:path-intellisense.mappings 若手动填写,必须用正斜杠 /,不能用 \ 或 path.join() 风格;Windows 用户无需改分隔符,插件会自动适配。
补全结果不带 .js/.ts 后缀?这不是 bug 是设计
VSCode 和 Path Intellisense 默认省略扩展名,因为现代打包器(Vite、Webpack、Node.js ESM)都支持自动解析 .js、.ts、.jsx 等后缀。如果你确实需要显式写出扩展名:
- 在
settings.json中加"path-intellisense.extensionPaths": ["js", "ts", "jsx", "tsx"] - 确保目标文件实际存在对应后缀(补全逻辑不会帮你生成不存在的文件)
最常被忽略的是:补全行为高度依赖当前文件的语言模式。右下角显示 Plain Text 时,哪怕你在写 JS,路径建议也永远不会弹出来——务必点开它,选成 JavaScript 或 TypeScript。


















