今天将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,有以下几个方法:
- 双击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.path
见 Directories 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
,只要删除这个文件就可以了。
-
删除或修改安装目录下的jre64或jre目录,这样软件就使用系统自定的JAVA_HOME中所设定的JDK,即Oracle官方提供的JDK1.8,如下图:
-
有网友测试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
感谢帮助,解决了问题!
问题得到解决,谢谢!
终于摆脱了反应奇慢的微软拼音,谢谢!
已经接近了,非常感谢!