解决方案来自《在Wayland模式的VSCode中使用fcitx5输入中文》 作者:杨秋逸
注意:本文的方法在 AnduinOS 1.3.5 (基于Ubuntu 25.04), GNOME48 桌面环境下验证有效,不保证对其他发行版和桌面环境有效。
可能是因为我的fcitx5输入法是卸载了ibus之后手动后装的,也可能是别的原因,总之在使用了rime-fcitx5之后我就无法在 VSCode 里面使用输入法输入中文了。下面的方法能够帮助在 VSCode 中恢复中文的输入。
只需要在运行时加上--enable-wayland-ime
参数就可以了:
code --enable-wayland-ime
这个时候不出意外你就会很神奇的发现又可以在 VSCode 里面愉快地输入中文了。
原理 --来自Qwen3:--enable-wayland-ime - 此选项启用了Wayland协议下的输入法支持。在某些情况下,默认配置可能不会充分考虑到所有软件对特定功能的支持情况,如输入法集成。通过启用这项特性,即使是在采用Wayland作为显示服务器的系统上也能获得更好的文本输入体验。
修改DESKTOP文件
总是使用code
命令在命令行里面带参数启动 VSCode 太麻烦了,进一步修改 VSCode 的 desktop 文件,让点击图标启动后的 VSCode 也能够使用输入法。
修改位于/usr/share/applications/code.desktop
下的code.desktop
文件,添加启动参数:
Exec=/usr/share/code/code --enable-wayland-ime %F
保存后再点击 VSCode 图标启动它,你会发现可以使用输入法输入中文了。如果你桌面上也有一个 VSCode 的图标文件记得一起修改。
特殊情况
我遇到了修改完desktop文件后点击图标启动仍旧无法使用输入法,但是使用命令行带参数启动却可以使用的诡异现象。这种情况大概是fcitx5的环境变量未正确继承导致的,如果你也遇到了这种情况,需要在 desktop 文件里面添加fcitx5的环境变量,就像这样:
Exec=env GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx /usr/share/code/code --enable-wayland-ime %F