一、问题描述
在IntelliJ IDEA、WebStorm、CLion、DataGrip、PyCharm等JetBrains家族产品中使用fcitx或ibus(非RIME)输入中文,输入全拼则会导致中文输入不正常,当编辑区域重新获得焦点时,只输入1或2个拼音则可输入部分汉字。
二、解决方案
1、 正常启动IDE后,选择【帮助】菜单项;
2、找到【编辑自定义VM选项】或【Edit Custom VM options】;
3、在最后一行输入“-Drecreate.x11.input.method=true”,如下图最后一行;
4、重启IDE即可在编辑区域正常输入中文。
三、注意事项
在设置【编辑自定义VM选项】时,仅IntelliJ IDEA默认存在对应的文件,该文件的地址是~ /.config/JetBrains/{IDE名称}/{IDE名称}.vmoptions
如在设置JetBrains家族其他产品时,会提示目标文件不存在,此时点击【创建】即可。下图以CLion为例。
若使用的不是IntelliJ IDEA,而是JetBrains的其他产品,则可通过复制以下代码至对应的VM配置文件中,该文的命名要求为<小写IDE名称>+<数据宽度:一般是64>+“.vmoptions”
# custom CLion VM options
-Xss2m
-Xms256m
-Xmx2000m
-XX:NewSize=128m
-XX:MaxNewSize=128m
-XX:ReservedCodeCacheSize=512m
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-Dsun.tools.attach.tmp.only=true
-Drecreate.x11.input.method=true
例如
在PyCharm的配置目录中,创建pycharm64.vmoptions,并将上面的代码复制到文件中并保存,然后启动PyCharm。
如此可避免IDE的反复重启。