必须执行Configure Display Language命令并选zh-cn后彻底重启VS Code,仅安装中文语言包无效;locale.json需由该命令自动生成且内容严格为{"locale":"zh-cn"},路径须在用户级目录,不可被工作区或远程配置覆盖。

为什么装了中文语言包还是显示英文?
因为插件只提供翻译资源,VSCode 默认仍读取英文 locale,必须手动切换。常见失败点包括:
- 安装
Chinese (Simplified) Language Pack for Visual Studio Code后只点了「重新加载窗口」,没彻底退出Code.exe进程(Windows 任务管理器里残留进程会导致 locale 不生效) - 命令面板输错成
Configure Language或Change Language——正确命令是Configure Display Language - 在语言选择列表中点了
zh或Chinese,但有效值只有zh-cn(注意连字符,大小写不敏感但 2026 年起官方文档统一要求小写) -
settings.json里写了"locale": "zh-CN",大写 CN 可能被忽略(截至 2026 年 7 月 21 日,VS Code 2026.7+ 已强制校验为zh-cn)
中文项目开发必配的编码与文件处理插件
中文项目最常遇到的是乱码和编码自动识别失效问题,尤其在读取历史遗留的 GBK/GB2312 文件时。仅靠语言包无法解决。
- 务必开启
files.autoGuessEncoding(设置中搜索该配置项并勾选),否则 VS Code 默认用 UTF-8 解析所有文件,GBK 编码的中文会直接变问号 - 对已打开的乱码文件,右下角状态栏点击当前编码(如
UTF-8),选「通过编码重新打开」→ 尝试GBK或GB2312;若内容恢复,再选「通过编码另存为」→UTF-8统一转码 - 批量转换旧项目编码可借助插件
GBKtoUTF8,但注意它不支持嵌套子目录递归——需配合终端命令:find . -name "*.java" -exec iconv -f GBK -t UTF-8 {} -o {}.utf8 \;,再手动替换 - 避免使用
vscode-language-pack-zh-hans替代官方包,它未适配 VS Code 2026 的模块化内核,可能导致扩展主机崩溃(实测触发ERR_EXTENSION_HOST_TERMINATED)
Prettier + ESLint 在中文项目中的格式冲突怎么解?
中文注释、全角标点、中文变量名容易触发 Prettier 和 ESLint 规则打架,比如 no-unused-vars 报告中文变量名“未使用”,或 prettier/prettier 强制删掉中文注释后的空格。
- 在
.eslintrc.js中显式启用中文支持:parserOptions: { ecmaVersion: 2022, allowImportExportEverywhere: true },并加rules: { 'no-unused-vars': ['error', { ignoreRestSiblings: true }] }避免误报中文变量 - Prettier 配置里禁用可能破坏中文排版的规则:
"printWidth": 100(太窄会把长中文注释折行)、"proseWrap": "never"(防止 markdown 中文段落被自动换行) - 关键:把 ESLint 设为「检查器」,Prettier 设为「格式化器」,两者职责分离——在
settings.json中设"editor.formatOnSave": true但关掉"editor.codeActionsOnSave": { "source.fixAll.eslint": false },改用保存后手动运行eslint --fix - Vue/React 项目中,中文 JSX 属性名(如
标题="首页")需在eslint-plugin-vue或eslint-plugin-react中额外配置vue/no-reserved-props白名单,否则会被误判为非法 prop
国产 OS(统信UOS/麒麟V10)下插件兼容性避坑点
在统信 UOS V25 或麒麟 V10 SP4 上,部分插件因底层 Electron 依赖或 GPU 渲染路径不同而异常,不是简单重装能解决的。
-
GitLens在麒麟 Wayland 会话下默认禁用「Code Lens」功能(导致看不到 commit author),需在设置中手动开启gitlens.codeLens.enabled并重启 -
ESLint插件若报Cannot find module 'eslint',不是路径问题,而是国产系统默认未装 Node.js 全局模块路径——运行npm config get prefix查路径,再执行sudo npm install -g eslint - 统信 UOS V25 自带 SM4 磁盘加密,但
Prettier插件若读取加密目录下的临时缓存文件,会卡在Formatting document...状态;临时方案是关闭prettier.requireConfig并在工作区根目录放空.prettierrc - 所有插件必须用
arm64或loongarch64架构二进制版本——x86_64 插件在龙芯/鲲鹏平台会静默失败,无错误提示,只表现为功能按钮灰掉
中文项目开发里,语言包只是起点,真正卡住人的往往是编码识别逻辑、插件间规则优先级、以及国产系统底层渲染链路的差异。这些地方没日志、不报错,只默默失效。


















