vscode ts智能提示怎么改中文的

6次阅读

可以,但只对 typescript 自带诊断生效;需在 vs code 设置中配置 typescript.locale 为 zh-cn 并重启 ts server,第三方插件提示不受影响。

vscode ts智能提示怎么改中文的

TS 错误提示能设成中文吗?可以,但只对 TypeScript 自带诊断生效

VS Code 里 TypeScript 的报错信息(比如 Cannot find name 'xxx')默认是英文,它不随界面汉化自动变中文——因为这是 TypeScript Server 自己返回的文本,和 VS Code 界面语言无关。要让它显示中文,得让 TS Server 本身用中文 locale 启动。

实操上,只需在 VS Code 设置里加一行配置:

  • 打开设置(Ctrl+, ),搜索 typescript locale
  • 找到 TypeScript > Locale 这一项,点击下拉菜单,选 zh-cn
  • 保存后,**重启 TypeScript Server**:按 Ctrl+Shift+P → 输入 Developer: Restart TS Server → 回车

改完立刻生效,下次 hover 类型错误、或在 Problems 面板里看到的提示,就变成「找不到名称“xxx”」这类中文了。注意:这个设置只影响 TS 自身的诊断,不改变 js/HTML/Python 等其他语言的提示。

为什么改了 locale 还是英文?检查 TS Server 是否真重启了

很多人设完 zh-cn 就以为完事了,结果提示还是英文——大概率是 TS Server 没真正重启。VS Code 不会自动 reload 它,尤其当你开着多个 TS 项目时,旧进程可能还在缓存英文响应。

确认方法很简单:

  • Ctrl+Shift+P,输入并执行 Developer: Show Running Extensions
  • 看输出里有没有 typescript-language-features 相关进程;再执行一次 Restart TS Server
  • 顺手清下 TS 缓存:关闭所有文件夹,再重新打开项目(不是仅重启 VS Code)

另外,如果你用的是 workspace 级别的 settings.json,确保没被用户级设置覆盖。可以临时删掉用户设置里的 "typescript.locale",只留工作区里这行,避免冲突。

第三方插件(如 ESLint、Prettier)的提示不会变中文

别指望改了 typescript.locale 就能让所有红波浪线都中文。ESLint 报的 Unexpected any. Specify a different type.、Prettier 的格式警告、甚至 Volar(Vue)的 SFC 提示,全由各自服务控制,它们不读 VS Code 的 locale 配置。

这些插件是否支持中文,完全取决于开发者有没有提供本地化包:

  • ESLint 官方目前无中文翻译,靠社区插件如 eslint-plugin-chinese 补充规则说明(但不改错误文案本身)
  • Volar 自 v1.4 起支持 locale: "zh-cn",需在 settings.json 单独配 "volar.locale": "zh-cn"
  • Prettier 错误基本不可译——它极少抛出用户可见错误,格式问题直接静默处理

所以看到混着中英文的 Problems 面板很正常,这不是你配错了,是各服务独立运作的结果。

不想全局改?用 workspace 设置更安全

如果你只在某个公司项目里需要中文提示(比如带新人时降低理解门槛),千万别直接改用户级设置。一来可能影响其他项目行为,二来某些老版本 TS 对 zh-cn 支持不稳定,偶尔导致类型推导变慢。

推荐做法是:只在该项目的 .vscode/settings.json 里加这一行:

"typescript.locale": "zh-cn"

这样换项目打开,TS 提示自动切回英文,不用来回切换设置。顺便提醒:如果项目根目录有 tsconfig.json,且里面写了 "locale": "en",它会优先于 VS Code 设置——这时得删掉或改成 "zh-cn" 才行。

真正容易被忽略的点是:TS Server 的 locale 是运行时决定的,不是启动时读一次就固定。只要没手动重启,哪怕你改了 settings.json 并保存,它也不会立即响应。所以「改配置 + 重启 Server」必须是一套动作,少一步都不算完成。

text=ZqhQzanResources