VS Code Remote-SSH 终端无法输入中文的踩坑记录
问题 用 Win11 的 VS Code 通过 Remote-SSH 连远程服务器,集成终端里切到中文输入法,打字没反应——候选窗不出来,或者敲完回车只出来几个字母。编辑器区域输入中文倒是正常的,就终端不行。 原因 这不是配置问题,是 VS Code Remote 架构的限制。 远程终端的输入由服务器端的 pty 进程处理,而 Windows 本地的 IME(输入法)组合事件没法正确传递到远程 pty。简单说:本地输入法在"组合"中文字的时候,远程终端那边根本收不到这些中间事件。 所以不管怎么改设置,大概率都治不了根。 我试过但没用的设置 网上常见的建议,我都试了,没解决: 关闭 GPU 加速:"terminal.integrated.gpuAcceleration": "off" 开启实验性 IME:"terminal.integrated.experimentalIme": true 调整 scrollback 大小 重启 VS Code、重装 Remote-SSH 插件 如果你的情况不一样,这些设置可以试试,但别抱太大期望。 实测可用的方案 方案一:用 Windows Terminal 直接连 SSH Win11 自带 Windows Terminal,中文输入完全正常,没有任何 IME 问题。 1 ssh user@服务器IP 需要终端输入中文的场景(比如 mkdir 中文目录),直接在 Windows Terminal 里操作就行。 这是我目前最推荐的方式。 方案二:命令面板发送文本 偶尔需要在 VS Code 终端里输中文,又不想切窗口: Ctrl+Shift+P 打开命令面板 输入 send,选择 Terminal: Send Text to Active Terminal 在弹出的输入框里打中文(这里的 IME 是正常的) 回车,文本会发送到当前终端 缺点是每次都要走命令面板,频繁使用比较麻烦。 ...