webstorm找不到typescript编译器需本地安装并手动配置路径:执行npm install typescript --save-dev,再在settings → languages & frameworks → typescript中手动选择node_modules/typescript/lib/tsc.js;file watcher须选tsconfig.json、working directory设为项目根目录、output paths to refresh填$projectfiledir$/dist/$filenamewithoutextension$.js;vue文件需启用vue插件、、tsconfig.json含"jsx": "preserve"和"types": ["vue"]。

WebStorm找不到TypeScript编译器:Cannot find TypeScript compiler
这不是IDE坏了,而是它压根没看见你装的typescript包——哪怕tsc -v在终端能跑,WebStorm默认也不读全局安装(npm install -g typescript)。
- 必须执行
npm install typescript --save-dev,确保node_modules/typescript/lib/tsc.js真实存在 - 进
Settings/Preferences → Languages & Frameworks → TypeScript,在TypeScript version下拉菜单中手动选Project preferences → node_modules/typescript/lib/tsc.js - 如果下拉列表为空,先点右侧刷新按钮;还不行,就终端运行
ls node_modules/typescript/lib/tsc.js确认路径和读权限 - 别选
Bundled或留空——那只是语法高亮,不触发类型检查
保存TS文件后不生成JS:File Watcher配置失效
改完demo.ts一保存,demo.js没影儿,或者报错Cannot write file because it would overwrite input file,基本等于File Watcher和tsconfig.json没对上号。
- 进
Settings → Tools → File Watchers,点+→选tsconfig.json(不是“TypeScript”) -
Working directory必须设为项目根目录(即tsconfig.json所在路径) -
Arguments推荐填:--project $ProjectFileDir$/tsconfig.json --noEmit false --skipLibCheck true -
Output paths to refresh必须填:$ProjectFileDir$/dist/$FileNameWithoutExtension$.js(假设outDir是./dist) - 务必勾选
Auto-save edited files to trigger the watcher和Trigger the watcher on external changes
Vue单文件里<script lang="ts">没提示、跳转失败</script>
ref、defineComponent标红,Ctrl+点击进不去定义?问题不在Vue插件本身,而在类型系统没对齐。
- 确认已启用
Vue.js插件(Settings → Plugins搜索并启用),重启IDE -
tsconfig.json中compilerOptions至少含:"jsx": "preserve"、"moduleResolution": "node"、"types": ["node", "vue"] -
<script></script>标签必须显式写lang="ts",否则WebStorm按JS解析 - 若用
<script setup lang="ts"></script>,确保@types/vue已安装(npm i -D @types/vue)
tsconfig.json缺失或关键字段错误导致大面积退化
没有tsconfig.json,WebStorm的类型推导、自动导入、跳转全部退化为JS行为,尤其Vue单文件里的<script lang="ts"></script>直接当普通脚本处理。
- 项目根目录运行
tsc --init生成基础配置 - 必须显式设置
"outDir": "./dist",且该路径不能在src/内(否则Watcher可能循环触发) -
"include"建议写["src/**/*"],删掉误加的"exclude": ["src"] - Vite项目需加
"types": ["vite/client"],否则import.meta.env标红
最常被忽略的其实是Working directory和Output paths to refresh这两项——它们不填或填错,File Watcher就形同虚设,其他配置再全也没用。











