禁用vscode内置ts服务并改用本地tsserver可解决类型提示错乱、跳转失效等问题;需禁用typescript and javascript language features插件、确保项目含tsconfig.json及本地typescript包,并通过settings.json配置codeactionsonsave和files.associations以统一编辑体验。

禁用内置 TypeScript 服务,改用项目本地 tsserver
VSCode 自带的 TS 支持常和你 node_modules 里的 typescript 版本打架,结果就是:类型提示错乱、Go to Definition 跳到声明文件而非实现、保存时 import 不自动补全。这不是插件问题,是 VSCode 默认行为干扰了项目真实环境。
必须做两件事:
- 在命令面板(
Ctrl+Shift+P)运行Extensions: Show Built-in Extensions,搜TypeScript and JavaScript Language Features,点击齿轮 →Disable (Workspace) - 确保项目根目录有
tsconfig.json,且已安装typescript和@typescript-eslint/parser
禁用后,所有类型检查、跳转、重命名都走你本地的 tsserver,和 npm run tsc 行为完全一致。
用 editor.codeActionsOnSave 替代手动格式化
按 Shift+Alt+F 是浪费时间的惯性操作。真正省力的是保存即修复:ESLint 报错自动修、import 自动整理、未使用变量直接删。
把下面这段写进项目根目录的 .vscode/settings.json:
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
"source.organizeImports": true,
"source.removeUnusedVariables": true
},
"eslint.enable": true,
"eslint.format.enable": false
注意:prettier 别设成 editor.defaultFormatter,否则会和 ESLint 的 fixAll 冲突;格式化逻辑应由 ESLint 插件接管,不是 Prettier 插件。
强制 files.associations 处理非标准文件类型
.astro、.svelte、.mdx 这类文件,VSCode 默认不识别语法,插件自动激活常有延迟,导致刚打开时没有高亮、没 lint、没智能补全。
直接在 .vscode/settings.json 里硬关联:
"files.associations": {
"*.astro": "astro",
"*.svelte": "svelte",
"*.mdx": "mdx"
}
这样一打开文件就立刻有语言支持,不用等插件“反应过来”。如果用了自定义后缀(比如 .page.ts),也按同样方式加进去。
调试配置别只靠插件,launch.json 才是关键
装了 Debugger for Chrome 却没法断点?大概率是 launch.json 配得不对。浏览器调试不是开箱即用,它依赖路径映射准确。
最简可用配置(Vite 或 Create React App 类项目):
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome",
"url": "http://localhost:5173",
"webRoot": "${workspaceFolder}",
"sourceMapPathOverrides": {
"webpack:///src/*": "${webRoot}/src/*"
}
}
重点看 webRoot 和 sourceMapPathOverrides:前者告诉 VSCode 源码在哪,后者把构建产物里的路径映射回真实源码位置。缺一不可,否则断点打在 bundle 上,永远停不住。
复杂点在于不同构建工具生成的 source map 路径规则不同——Vite、Webpack、Rspack 各有各的默认值,不能抄一个配置到处用。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











