vscode纯js项目需配置jsconfig.json和settings.json并安装javascript and typescript nightly等扩展才能实现完整类型感知与路径跳转;缺少jsconfig.json会导致别名路径无法解析,settings.json中必须启用autoimports、includepackagejsonautoimports和updateimportsonfilemove。

VSCode 本身不自带 JavaScript 运行时或智能提示能力,必须靠扩展和配置补足;没配好 jsconfig.json 或关了 typeAcquisition,import 提示、跳转、重命名就会频繁失效。
装哪些扩展才真正有用
只装 ESLint 和 Prettier 不够,关键要解决类型感知和模块解析问题:
-
JavaScript and TypeScript Nightly(官方维护,比内置 JS 支持更新更快,修复import路径推导 bug) -
ESLint(必须勾选“Enable”并设为默认格式化工具,否则保存不触发校验) -
Prettier(禁用其自带的eslintIntegration,改用eslint --fix统一处理) - 不用装
Babel JavaScript—— 它已过时,VSCode 1.80+ 原生支持.mjs和export语法
必须手动建 jsconfig.json 的场景
项目含 src/ + lib/ 多目录、用了 baseUrl 别名、或依赖 node_modules 中未导出类型时,jsconfig.json 不是可选项:
- 缺少它,
Ctrl+Click点不到@/utils这类别名路径 -
"compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["src/*"] } }必须写进jsconfig.json,tsconfig.json对纯 JS 项目无效 - 若项目根目录无
package.json,VSCode 会跳过自动识别,此时jsconfig.json是唯一启用路径映射的方式
settings.json 里这几个配置不能靠默认
开箱即用的设置对中大型 JS 项目太保守,容易导致“跳转失败”“重命名漏文件”:
-
"javascript.suggest.autoImports": true(默认 false,不开就看不到lodash/debounce的自动导入建议) -
"javascript.preferences.includePackageJsonAutoImports": "auto"(设为auto才会在输入axios.时提示从package.json自动引入) -
"javascript.updateImportsOnFileMove.enabled": "always"(设为always,否则拖动文件后import路径不会自动修正) - 禁用
"typescript.preferences.includePackageJsonAutoImports"—— JS 项目里它会干扰,只留 JS 版本生效
调试时 launch.json 容易错的点
直接跑 node index.js 没问题,但断点不命中、console 输出乱序,大概率是配置没对上运行时行为:
-
"runtimeExecutable": "npm"要配合"runtimeArgs": ["run", "dev"],而不是写死"node"—— 否则跳过package.json中的scripts环境变量 - 用 ESM 项目(含
"type": "module")时,"sourceMaps": true必须加,且node版本 ≥ 18.12,否则断点全飘在第一行 -
"env": { "NODE_OPTIONS": "--enable-source-maps" }在 Node 20+ 已废弃,该删掉,改用"runtimeArgs": ["--enable-source-maps"]
最常被忽略的是:JS 项目里 jsconfig.json 和 settings.json 的组合效果,不是“开了就灵”,而是必须匹配项目结构——比如 paths 配了 ["src/*"],但实际代码在 app/ 下,所有路径提示都会静默失败,连错误提示都没有。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











