概述
在linux平台下使用搜狗輸入法在IDEA中輸入中文時,輸入法候選框總是靜止在IDEA的左下角,而不能跟隨光標進行移動。雖然不影響輸入結果,但很影響輸入體驗。並且其實網上確實給了一些解決方法,但好多時候,這些解決方法對小白不太友好,因此,此處我嘗試站在巨人的肩膀上,對前輩的一些方法進行整合並且給出比較詳細的解決步驟。
系統環境:
KDE Plama Version:5.19.5
KDE Frameworks Version:5.73.0
Kernel Version:5.8.6-1-MANJARO
硬件環境:
處理器:Intel Core i5-8500 cp @3.00GHz
問題定位
具體問題官方其實七年前就有了(參考https://youtrack.jetbrains.com/issue/JBR-2460),但是比較坑的是官方也一直沒有解決這個問題🐶(此處忍不住吐槽一下哈)。簡單來說就是Idea
的jre
運行環境一個bug,導致輸入法無法定位到鼠標位置。因此,我們要解決該問題必須要修改JetBrainsRuntime
的運行代碼。
解決方法
如果只是想快速解決該問題,而對其原理不感興趣的話,僅僅使用方法1即可。
方法1:修改JetBrainsRuntime
-
下載已經修改好的JRE環境
下載地址1(我有積分):https://download.csdn.net/download/Startapi/12894900
下載地址2(白嫖也很好):
百度雲鏈接: /s/1nUVPhXmgRqPBDe_8MeO-BQ 密碼: rjg4
-
下載完成后解壓到任意目錄,此處我是解壓到了
~/Application
目錄下
-
更改IDEA的啟動環境
修改文件:
home/idea-2020.1/bin/idea.sh (找到你自己的idea的安裝路徑)
在開頭處添加export IDEA_JDK=xport IDEA_JDK=/home/vcjmhg/Application/java-11.0.7-jetbrain
(改成自己的JRE目錄)
方法2:使用path編譯JetBrainsRuntime
-
從Github下載JetBrainsRuntime,執行如下代碼:
git clone https://github.com/JetBrains/JetBrainsRuntime.git
-
應用patch
patch 下載地址: https://github.com/prehonor/myJetBrainsRuntime
#將Path放到JetBrainsRuntime的根目錄下 cd JetBrainsRuntime # 應用Patch git apply idea.patch
-
編譯
JetBrainsRuntime
這個可以參照官方的提供的方式來進行編譯:戳我。但就我個人嘗試的情況來看,使用docker編譯或者直接在自己的Arch linux中進行編譯都會出現錯誤。最終可行的方式是使用虛擬機虛擬一個Ububtu 20.0.4的環境進行編譯。但需要主要的是給該虛擬分配的內存空間應該大於2G,否則可能出現內存不足,編譯錯誤的情況發生。
-
參考方法一種的步驟,應該編譯好的JRE環境。