在VSCode中使用fcitx5输入中文

添加启动参数轻松解决Wayland下VSCode无法使用fcitx5输入法的问题

解决方案来自《在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