vscode错误提示不会随界面汉化自动变中文,因界面语言与语言服务器诊断语言解耦;typescript需配置typescript.locale为zh-cn并重启ts server,python、eslint等各自独立,无统一开关。

VSCode 的错误提示信息不会随界面汉化自动变中文,必须按语言服务类型分别配置——TypeScript 可通过 typescript.locale 控制,而 Python、ESLint、终端命令等各自独立,没有统一开关。
为什么改了界面语言,Problems 面板还是英文?
因为 VS Code 的界面语言(locale)和语言服务器的诊断语言完全解耦。菜单变中文 ≠ TS 报错变中文。像 Cannot find name 'xxx' 这类提示由 TypeScript Server 进程生成,它默认读系统 locale,不看 VS Code 界面设置。
-
typescript.locale是唯一能影响 TS 自带诊断语言的配置项 - ESLint、Pylance、Volar、Rust Analyzer 等插件的提示语言由各自实现决定,VS Code 不转发也不翻译
- 终端里
tsc、python、npm的输出是原始进程 stdout,VS Code 只做渲染,无法干预
让 TypeScript 错误提示变中文的实操步骤
只对 TS 语言服务生效,不影响 JS/JSX/HTML 或其他扩展。
- 在设置中搜索
typescript.locale,下拉菜单中选zh-cn(不要手输,避免大小写或拼写错误) - 按
Ctrl+Shift+P输入并执行Developer: Restart TS Server——仅重启 VS Code 不够 - 验证:在
.ts文件里写consol.log(),悬停或看 Problems 面板是否出现「无法找到名称“consol”」
其他常见错误来源怎么处理?
没有通用方案,只能按工具链逐个确认支持状态:
- ESLint 官方插件目前无中文提示;若需中文规则说明,得靠
eslint-plugin-i18n或社区汉化规则包,且仅限规则描述,不改错误文本本身 - Python(Pylance)错误如
NameError: name 'xxx' is not defined由 Python 解释器原生输出,无法本地化;Pylance 自身提示(如类型推导)暂不支持 locale 切换 - Code Runner 控制台中文乱码不是语言问题,是编码问题:Windows 下需在
settings.json加"code-runner.runInTerminal": true并确保终端(如 Windows Terminal)设为 UTF-8 - Error Lens 插件不做翻译,只渲染原始错误文本;它显示中文的前提是上游语言服务返回了中文
最容易被忽略的是 TS Server 进程缓存——设完 typescript.locale 后没执行 Restart TS Server,或者工作区 settings.json 覆盖了用户级设置,都会导致看似配置了却无效。建议先关掉所有文件夹,再重新用 File > Open Folder 打开项目,比单纯重启 VS Code 更可靠。











