js代码补全失效主因是项目缺失jsconfig.json或语言服务未加载,导致vscode将js当纯文本处理;必须在根目录新建jsconfig.json配置baseurl和paths、重启ts server,并确保settings.json中editor.quicksuggestions.strings为true且右下角语言模式正确。

JS 代码补全失效,90% 不是插件没装,而是项目没“身份”——缺 jsconfig.json 或语言服务压根没加载。
为什么 import utils from './utils' 后输 utils. 没提示?
VSCode 不会主动扫描整个项目找模块;它只在有明确上下文时才推导类型。没有 jsconfig.json,它就把 JS 当纯文本处理:路径别名不识别、node_modules 类型不加载、跨文件方法不提示。
- 必须在项目根目录新建
jsconfig.json,内容至少含:{"compilerOptions": {"module": "nodenext", "target": "es2020", "allowJs": true, "checkJs": true, "moduleResolution": "nodenext"}} - 用了
@/components这类别名?得加"baseUrl"和"paths",例如:"@/*": ["src/*"] - 改完立刻执行
Ctrl + Shift + P→ 输入TypeScript: Restart TS server,不重启等于没改
editor.quickSuggestions 和 editor.suggestOnTriggerCharacters 必须手动写进 settings.json
图形界面设置只能控制部分字段,且容易被工作区覆盖。这两个开关决定补全“会不会弹出来”,不是“好不好看”。
-
editor.quickSuggestions要按上下文设,不能只写true:"editor.quickSuggestions": {"other": true, "strings": true, "comments": false}——strings: true才能让import路径、require()、HTMLsrc属性内触发路径补全 -
editor.suggestOnTriggerCharacters必须为true,否则输.、(、[不会自动拉框 - 直接编辑
settings.json(命令面板搜Preferences: Open Settings (JSON)),避免 GUI 设置漏项
右下角显示 Plain Text 或 Unknown?补全永远不工作
VSCode 不靠文件后缀判断语言,只认右下角状态栏显示的 language mode。哪怕你打开的是 index.js,只要那里写着 Plain Text,所有语言服务(包括补全、跳转、错误检查)都停摆。
- 按
Ctrl + Shift + P→ 输入Change Language Mode→ 手动选JavaScript或TypeScript -
.vue文件里<script></script>块默认可能是HTML,需点击右下角切换 - 写一行明显报错的代码,如
const a: number = 'x';,没红色波浪线?说明 TypeScript 语言服务器根本没接管
最常被忽略的点:补全质量不取决于装了多少插件,而取决于 jsconfig.json 是否存在、settings.json 中那几行关键配置是否生效、以及右下角那个小小的状态栏是否显示了正确的语言名。三者缺一,utils. 就永远只显示 __proto__ 和 constructor。











