解决fcitx输入法在IDEA中输入法候选框无法跟随光标移动的问题

作者:vcjmhg 时间:2021-09-21 14:48:25 

解决fcitx输入法在IDEA中输入法候选框无法跟随光标移动的问题

概述

在 Linux 平台下使用搜狗输入法在 IDEA 中输入中文时,输入法候选框总是静止在 IDEA 的左下角,而不能跟随光标进行移动。虽然不影响输入结果,但很影响输入体验。并且其实网上确实给了一些解决方法,但好多时候,这些解决方法对小白不太友好,因此,此处我尝试站在巨人的肩膀上,对前辈的一些方法进行整合并且给出比较详细的解决步骤。

系统环境:

1KDE Plama Version:5.19.5
2KDE Frameworks Version:5.73.0
3Kernel Version:5.8.6-1-MANJARO

硬件环境:

1处理器:Intel Core i5-8500 cp @3.00GHz

问题定位

具体问题官方其实七年前就有了(参考 https://youtrack.jetbrains.com/issue/JBR-2460 ),但是比较坑的是官方也一直没有解决这个问题:dog:(此处忍不住吐槽一下哈)。简单来说就是 Ideajre 运行环境一个 bug,导致输入法无法定位到鼠标位置。因此,我们要解决该问题必须要修改 JetBrainsRuntime 的运行代码。

解决方法

如果只是想快速解决该问题,而对其原理不感兴趣的话,仅仅使用方法 1 即可。

方法 1:修改 JetBrainsRuntime

下载已经修改好的 JRE 环境

下载地址 1(我有积分):

下载地址 2(白嫖也很好):

百度云链接: /s/1nUVPhXmgRqPBDe_8MeO-BQ 2
密码: rjg4

下载完成后解压到任意目录,此处我是解压到了 ~/Application 目录下

解决fcitx输入法在IDEA中输入法候选框无法跟随光标移动的问题

更改 IDEA 的启动环境

修改文件: home/idea-2020.1/bin/idea.sh (找到你自己的idea的安装路径) 在开头处添加

export IDEA_JDK=xport IDEA_JDK=/home/vcjmhg/Application/java-11.0.7-jetbrain (改成自己的 JRE 目录)

解决fcitx输入法在IDEA中输入法候选框无法跟随光标移动的问题

方法 2:使用 path 编译 JetBrainsRuntime

1.从 GitHub 下载 JetBrainsRuntime,执行如下代码:


1git clone https://github.com/JetBrains/JetBrainsRuntime.git

2.应用 patch

patch 下载地址: https://github.com/prehonor/myJetBrainsRuntime


#将Path放到JetBrainsRuntime的根目录下
cd JetBrainsRuntime
# 应用Patch
git apply idea.patch

3.编译 JetBrainsRuntime

这个可以参照官方的提供的方式来进行编译: 戳我 。但就我个人尝试的情况来看,使用 docker 编译或者直接在自己的 Arch Linux 中进行编译都会出现错误。最终可行的方式是使用虚拟机虚拟一个 Ububtu 20.0.4 的环境进行编译。但需要主要的是给该虚拟分配的内存空间应该大于 2G,否则可能出现内存不足,编译错误的情况发生。

4.参考方法一种的步骤,应该编译好的 JRE 环境。

参考

https://blog.csdn.net/qq_37303226/article/details/79640886

https://blog.csdn.net/u011166277/article/details/106287587

https://bbs.archlinuxcn.org/viewtopic.php?id=10529&p=2

来源:https://www.vcjmhg.top/fcitx-not-work-in-idea

标签:fcitx,输入法,光标移动
0
投稿

猜你喜欢

  • Java中IO流解析及代码实例详解

    2022-03-08 22:32:16
  • springboot @Async 注解如何实现方法异步

    2023-11-18 18:16:03
  • Unity打开淘宝app并跳转到商品页面功能的实现方法

    2023-06-17 01:05:18
  • JAVA实现SOCKET多客户端通信的案例

    2023-08-26 19:10:35
  • jdbc中class.forname的作用

    2023-04-13 00:56:18
  • Java SSM实现前后端协议联调详解上篇

    2023-09-16 20:42:22
  • 浅析12306售票算法(java版)

    2023-11-16 10:27:12
  • 下载软件后使用c#获取文件的md5码示例

    2022-02-08 21:39:58
  • Maven工程pom中如何定义jdk版本

    2022-02-18 08:16:13
  • 使用Feign传递请求头信息(Finchley版本)

    2023-06-07 22:38:07
  • java读取其他服务接口返回的json数据示例代码

    2023-11-10 14:05:29
  • Android 设置应用全屏的两种解决方法

    2023-05-07 01:27:50
  • 详解Spring循环依赖的解决方案

    2022-05-29 13:14:57
  • Java JDK 动态 代理的使用方法示例

    2023-08-23 08:12:52
  • C# 使用原生 System.IO.Compression 实现 zip 的压缩与解压

    2023-08-01 13:52:41
  • c#根据网址抓取网页截屏生成图片的示例

    2021-08-31 14:29:13
  • java小程序之控制台字符动画的实现

    2022-10-30 08:21:27
  • C#学习笔记之状态模式详解

    2021-09-15 21:56:08
  • SpringBoot使用Kaptcha实现验证码的生成与验证功能

    2022-11-30 15:57:44
  • C#学习笔记- 浅谈数组复制,排序,取段,元组

    2021-10-21 00:50:58
  • asp之家 软件编程 m.aspxhome.com