TypeScript 提示需单独配置 typescript.locale 为 zh-cn 并重启 TS Server,界面汉化不影响其诊断文本;Problems 面板中 ESLint 等其他工具提示仍为英文,因各自语言支持独立。

VSCode 的提示信息(比如悬停类型、Problems 面板里的报错、命令面板搜索提示)不会随界面汉化自动变中文——这是两个独立系统:界面语言由 locale 控制,而语言服务(如 TypeScript、ESLint)的诊断文本由各自进程的 locale 决定。
为什么装了中文语言包,TS 报错还是英文?
TypeScript Server 是一个独立运行的进程,它默认用系统 locale 启动,不读 VSCode 界面语言设置。即使你已安装 Chinese (Simplified) Language Pack 并设了 "locale": "zh-cn",Cannot find name 'xxx' 这类提示仍为英文。
- 必须显式配置
typescript.locale为zh-cn,而非全局locale - VSCode 不会自动重启 TS Server,必须手动触发
Developer: Restart TS Server - 若工作区有
settings.json,优先以该文件中的typescript.locale为准;用户级设置可能被覆盖
如何让 TypeScript 提示变成中文
只对 TypeScript 自带诊断生效(tsc、tsserver 输出),不涉及 ESLint、Prettier 或其他插件。
- 打开设置(
Ctrl+,),搜索typescript locale - 在
TypeScript > Locale下拉菜单中选择zh-cn - 按
Ctrl+Shift+P→ 输入并执行Developer: Restart TS Server - 验证:打开一个 .ts 文件,故意写个错(如
consol.log()),悬停或看 Problems 面板是否显示「无法找到名称“consol”」
Problems 面板里部分提示仍是英文?检查来源
Problems 面板是“聚合器”,它把所有语言服务的诊断都堆在一起。不同来源的提示语言互不影响:
-
TypeScript提示:受typescript.locale控制,可中文 -
ESLint提示:取决于 ESLint 插件是否内置多语言支持,目前官方版无中文翻译,即使系统设为中文也仍是英文 -
Prettier/Volar/Python:各自决定,VSCode 无法干预 - 终端里编译器(如
gcc、rustc)输出:完全由系统 locale 或工具自身配置决定,VSCode 只负责显示原始文本
常见失效场景与绕过方法
设了 typescript.locale 却没生效,大概率卡在缓存或进程未更新上:
- 确认 TS Server 真重启了:执行
Developer: Show Running Extensions,看是否有typescript-language-features进程;再执行一次Restart TS Server - 关闭所有文件夹,再重新用
File > Open Folder打开项目(不是仅重启 VSCode) - 临时删掉用户级
settings.json中的typescript.locale,只保留工作区级配置,避免冲突 - 如果公司网络拦截 marketplace,导致语言包安装失败,可手动下载
.vsix安装(ID:ms-ceintl.vscode-language-pack-zh-hans)
真正容易被忽略的是:TypeScript 的中文提示只作用于它自己的诊断逻辑,和 ESLint 规则、Babel 转译错误、甚至 Node.js 运行时报错都没关系——它们各自走各自的通道,别指望一个配置全搞定。


















