移动端远程连接vscode界面仍英文,核心是locale.json未置于远程server实际加载路径:code-server需放~/.local/share/code-server/user/或~/.config/code-server/user/,remote-ssh则必须为~/.vscode-server/data/machine/locale.json,内容严格为{"locale":"zh-cn"},utf-8无bom编码。

移动端远程连接 VSCode 后界面仍是英文,核心问题不是“连不上”,而是 locale.json 没落在远程 Server 实际加载的路径下——VS Code Server 在移动端(如 iOS/iPadOS 的 Code Server 客户端、或 Android Termux + code-server)中查找逻辑和桌面版一致,但路径易被误判。
移动端远程连接时 locale.json 应该放哪?
VS Code Server 不会读取你本地手机上的配置,也不会同步桌面端的 locale.json。它只扫描远程进程启动时确定的用户数据目录,路径取决于 Server 运行位置:
- 如果你用的是
code-server(比如在 Termux 或树莓派上自建),路径通常是:~/.local/share/code-server/User/locale.json或~/.config/code-server/User/locale.json(注意:不是.vscode-server) - 如果你用的是官方 VS Code for iOS/iPadOS(通过 SSH 连接 Linux 服务器),那仍是标准 Remote-SSH 行为,路径必须是:
~/.vscode-server/data/Machine/locale.json(VS Code 1.85+) - 关键验证方式:在远程终端执行
ps aux | grep server-main.js,找到类似/home/user/.vscode-server/bin/abc123/out/server-main.js的进程,其父目录的data/Machine/子目录才是正确位置
为什么在移动端改了 locale.json 还是英文?
常见失效不是因为没写,而是写到了错误层级或编码出错:
-
locale.json必须放在Machine/目录下,不是~/.vscode-server/根目录,也不是~/.vscode-server/bin/xxx/下 - 内容只能是严格 JSON:
{"locale":"zh-cn"}—— 不能是zh_CN、zh-hans,不能带注释、尾随逗号、单引号 - 文件编码必须为 UTF-8 无 BOM;移动端用 Termux 的
nano或vim直接写容易带 BOM 或换行符异常,建议用 VS Code 远程窗口新建并保存(哪怕只是临时连一下) - 某些移动端 SSH 客户端(如 Blink Shell)默认禁用
~展开,cd ~/.vscode-server可能失败,应先运行echo $HOME确认真实路径
移动端无法触发 Configure Display Language 怎么办?
这个命令依赖语言包已激活,而移动端远程环境常因插件未安装或路径隔离导致命令不可见:
- 先确认语言包是否已装:
code --list-extensions | grep zh-hans,若无输出,手动安装:code --install-extension MS-CEINTL.vscode-language-pack-zh-hans - 如果提示
command not found: code,说明code命令未加入 PATH,需先定位到.vscode-server/bin/xxx/目录再执行完整路径,例如:~/.vscode-server/bin/abc123/code --install-extension ... - 装完后仍不出现该命令?大概率是
locale.json路径错或内容非法——VS Code Server 初始化失败时会静默跳过语言加载,不会报错 - 临时验证是否生效:在远程窗口按
Ctrl+Shift+P,输入Developer: Show Running Extensions,看ms-ceintl.vscode-language-pack-zh-hans是否状态为Activated
真正卡住的点,往往不是“找不到设置入口”,而是移动端环境下 ~ 解析错位、code-server 与官方 Remote-SSH 混用、或用 Termux 安装了多个版本导致路径冲突——语言切换是 Server 启动时的一次性静态加载,路径差一级,就永远回退英文。











