JetBrains系列(IntelliJ IDEA、WebStorm等)中文输入法无提示问题的解决

今天将WebStorm从2016升级到最新的2017之后,发现在编辑器中使用中午输入法的时候没有候选词提示框,查阅了一些资料,原来是程序自带的OpenJDK(经过JetBrains编译的,可以在https://dl.bintray.com/jetbrains/intellij-jdk/中查看所有编译的列表)跟中文输入法有冲突,并且这个问题在所有的JetBrains系列(如IntelliJ IDEA)2017版的软件中都有出现。

JetBrains随安装包提供了自己编译的OpenJDK,这个问题出在自带的JDK上面,可以通过 Help - About 菜单进行查看,如下图:

可以看到JVM是经过JetBrins编译发布的OpenJDK。

解决这个问题的思路就是修改启动软件的JDK,有以下几个方法:

  1. 双击Shift键打开Search Everywhere,输入Switch Book JDK,选择 Switch IDE boot JDK...菜单,然后点击...设置Oracle JDK的目录,重新启动软件即可。2019版需要安装 Choose Runtime 插件,然后在Search Everywhere中输入 Choose Runtime,参考:Change boot Java runtime for IntelliJ IDEA
    推荐这种方式,操作简单有效。
    PS:经测试,官方的JDK 1.8.0.152及之后的版本都有问题,因此需要之前版本的JDK。

PS: 这样设置之后的JDK配置路径信息被保存到了<idea.config.path>\config\<product>.jdk文件中,其中idea.config.pathDirectories used by the IDE to store settings, caches, plugins and logs,比如IntelliJ IDEA 2.18.1在Windows7/10系统下,文件的路径就是 %USERPROFILE%\.IntelliJIdea2018.1\config\idea64.exe.jdk,只要删除这个文件就可以了。

  1. 删除或修改安装目录下的jre64或jre目录,这样软件就使用系统自定的JAVA_HOME中所设定的JDK,即Oracle官方提供的JDK1.8,如下图:

  2. 有网友测试jbsdk8u152b845.3之后的JDK都有问题,因此可以在https://dl.bintray.com/jetbrains/intellij-jdk/下载jbsdk8u152b845.3版本并解压,然后替换安装目录下的jre64(64位)或jre目录。

PSS:根据JetBrains官方 issue#JRE-365上的显示,这个bug已经在IntelliJ IDEA 2018.2修复,当前最新版本还是2018.1,静候更新了。

参考资料:
IDEA下搜狗输入法输入中文时卡着不动的参考解决方法
IntelliJ IDEA 2017.2.1: Bug 修复和性能优化(评论)
Intellij IDEA 15中文输入框不跟随怎么办?
Selecting the JDK version the IDE will run under

4 thoughts to “JetBrains系列(IntelliJ IDEA、WebStorm等)中文输入法无提示问题的解决”

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注