webstorm悬停和ctrl+q显示中文是因第三方插件、篡改的@types或本地缓存导致,官方不翻译api签名;应禁用中文插件、清理缓存、重装官方@types并验证空项目基准。

WebStorm 汉化后,鼠标悬停看到的仍是中文菜单和提示,但你真正需要的函数名、参数名、返回类型等关键信息,本就不是靠“汉化”显示的——它们天然是英文,且不能也不该被翻译。所谓“查看原英文”,其实是确保你看到的是真实 API 文档,而不是被错误映射的中文解释。
悬停显示的是什么?为什么不是英文?
如果你鼠标悬停看到的是中文描述(比如“返回一个 Promise 对象”),那大概率是第三方插件或本地缓存里混入了非官方翻译 stubs;WebStorm 官方从不翻译 TypeScript 声明、JSDoc 或 @types 包里的内容。正常情况应显示:
-
Promise.then(onFulfilled: (value: T) => U): Promise<u></u>这样的原始签名 - 英文注释(如来自 DefinitelyTyped 的
@param value - The resolved value) - 无任何中文术语,除非你自己写了中文 JSDoc
若出现中文,检查是否误装了“中文文档补全”类插件,或项目里存在篡改过的 node_modules/@types/xxx 本地副本。
Ctrl+Q 弹出的文档为什么还是中文?
Ctrl+Q 显示的内容来源优先级是:当前文件 JSDoc → 项目中 @types → TypeScript Server 提供的声明 → WebStorm 自带 stubs。如果它显示中文,说明:
- 你项目里有中文版
@types(比如 fork 修改过的包),删掉node_modules/@types重装官方版本 - 启用了“TypeScript Language Service”但其配置指向了错误的
typescript.js路径(Settings → Languages & Frameworks → JavaScript → TypeScript → TypeScript version) - 某些老旧插件(如旧版 Vue Helper)会劫持文档渲染,禁用后重启 IDE 即可恢复
验证方式:在空项目里新建 test.ts,写 Promise.resolve().then,悬停看是否显示英文——这是基准线。
如何强制让悬停只显示英文源码?
没有“强制英文”开关,但你可以切断所有中文干扰路径:
- Settings → Plugins:禁用所有标有“中文”“文档翻译”“API 中文助手”的插件
- Settings → Languages & Frameworks → JavaScript → Libraries:移除所有非
node_modules下的类型库路径,尤其警惕lib/types-zh类目录 - File → Invalidate Caches and Restart → Invalidate and Restart:清除可能残留的翻译缓存
- 确认系统区域设置未影响 Node.js 进程(终端执行
node -e "console.log(process.env.LANG)",应为en_US.UTF-8或空)
做完这些,Ctrl+Q 和悬停显示的就全是原始英文声明——这才是你在写代码时真正依赖的信息源。
别指望 UI 汉化能帮你理解 API,它只是降低菜单学习成本;真正要读懂 Array.prototype.flatMap 怎么用,靠的是悬停里那一行英文签名和 @example,不是“扁平映射数组”这种二手翻译。复杂点在于:一旦某层类型定义被污染(比如同事提交了改过的 @types/react),整个项目的悬停就会静默变中文,且很难定位源头。











