IntelliJ插件实现自动切换输入法

3,627 阅读5分钟

简介

对于母语为中文的开发者,写代码过程中经常需要在中/英输入法之间进行切换,而且由于不清楚当前处于哪种输入状态,有时输入到一半发现输入法错了,删除重新输入,有时切换了好几次都没有成功,此时内心😫😫😫我fff...。

其实,在哪个位置需要使用哪种输入法是可以确定的,既然这样就可以让IDE帮助我们智能切换输入法。给大家介绍一款IDEA插件Smart Input,该插件核心功能可以根据输入位置的上下文智能分析当前应该使用哪种输入法并自动切换,而且还可以通过光标的颜色来提醒当前是什么输入法。废话少说,先看效果。

使用效果

注释场景

Java代码有三种注释方式,注释场景也是使用中文频率比较高的场景,下面动图演示了两种注释场景的效果。

                   

编码区域输入//,识别到单行注释场景,自动切换为中文输入法。换行后编码,识别到光标位于编码区域,自动切换为英文输入法。再次修改注释,识别到单行注释场景,自动切换为中文输入法。整个过程无缝衔接,丝般顺滑。光标红色表示当前使用中文输入法,灰色表示英文输入法。场景切换的时候会有浮层提示,熟悉后也可以关闭提示。

                   

对代码进行文档注释时,自动识别到当前处于文档注释场景,自动为您切换为中文输入法。不仅仅是注释场景,插件支持智能分析10余种场景,而且还支持自定义场景。

工具窗口场景

在命令终端肯定使用英文输入法,该插件可以识别到Terminal工具窗口获取到输入焦点时候就会切换到英文输入法,省心省力。还有Project、Structure工具窗口也是只需要英文输入法。

                         

Git Commit Message场景

一般我们都是使用中文写git的提交信息,该插件可以做到当Commit Message输入框获取到焦点时切换为中文输入法。

IdeaVim场景

习惯使用vim的人知道在命令模式必须使用英文输入法,该插件可以在IdeaVim进入命令模式时自动切换为英文输入法。

SearchEveryWhere

IDEA双击Shift键可以唤起SearchEveryWhere对话框,用来搜索类、方法等,这里也是可以确定必须使用英文输入法,该插件也支持SearchEveryWhere对话框获取到焦点后切换为英文输入法。

自定义场景

在编码区域只有字符串常量中可能存在中文场景,所以自定义中文场景可以根据字符串变量名或者方法参数名判断是否需要切换为中文输入法。演示插件已经提前配置好了自定义中文场景:chineseName;func(chineseName)

                    

上图中识别到字符串变量名称为chineseName,则当光标在字符串常量中时自动切换为中文输入法。下图中识别到方法func的参数名称为chineseName,则在赋予字符串常量时自动切换为中文输入法。

                   

主动切换输入法

编码场景肯定使用的是英文,只有在注释、字符串字面量等场景才会使用中文,当然也有可能需要使用英文,简短的英文可以使用中文输入法输入,您也可以主动切换输入法,光标的颜色会随着输入法的改变而改变,始终准确的表示输入法类型。

                   

为了避免主动切换输入法后因为光标的移动又自动切换输入法,因此提供三种锁定输入法的策略,可在设置页面进行选择,默认策略为:主动切换输入法后锁定自动切换直到光标跨行移动或进入编码区域。

下载安装

方式一:

Smart Input Source插件可以从Intellij官方插件市场进行下载,IDEA路径Preferences >> Plugins >> Marketplace。支持windows和mac两种系统,windows系统只测试过windows10,如有不支持可以提BUG哦。目前插件支持的IntelliJ IDEA版本为2021.1到2022.3。

方式二:

优先使用第一种方式安装,如果第一种方式在Marketplace没有找到该插件的话,可以先下载然后通过本地安装包安装。

插件配置

插件的通用配置可以在IDEA设置中找到,您也可以通过“右键菜单选项>>Smart Input Source>>插件设置”快速进入插件设置页面,基础配置和场景配置中已经为您默认开启常用选项,您也可以自由选择,而且您可以使用自定义中文切换场景实现更多高级场景。

windows系统

插件安装并重启IDEA后,打开插件设置页面,选择您正在使用的中文输入法,如果没有正确选择,会造成主动切换输入法后光标颜色无法准确代表当前输入法。如果您使用的输入法不在选择列表中,您可以选择“其他输入法”,测试下是否能实现自动切换以及主动切换输入法时光标颜色正确改变,如果不能的话您可以反馈给我们或者换一种输入法。

mac系统

Smart Input Source可以在IntelliJ IDEA插件市场直接下载,IDEA安装完成后需要重启IDEA。由于在mac系统实现自动切换输入法功能需要使用mac系统的辅助功能,第一次使用该插件时会提醒:“IntelliJ IDEA”想使用辅助功能来控制这台电脑,如下图所示:

接下来您需要点击“打开系统偏好设置”按钮,弹出如下窗口,按照图中步骤操作。如果没有自动弹出,可以当上面提示再次出现后再次点击“打开系统偏好设置”按钮,或者按如下步骤操作:“系统偏好设置” >> “安全性与隐私” >> "隐私" >> "辅助功能"。