简介
对于母语为中文的开发者,写代码过程中经常需要在中/英输入法之间进行切换,而且由于不清楚当前处于哪种输入状态,有时输入到一半发现输入法错了,删除重新输入,有时切换了好几次都没有成功,此时内心我fff...。
其实,在哪个位置需要使用哪种输入法是可以确定的,既然这样就可以让IDE帮助我们自动切换输入法。给大家介绍一款IDEA插件Smart Input Source,该插件核心功能可以根据输入位置的上下文智能分析当前应该使用哪种输入法并自动切换,而且还可以通过光标的颜色来提醒当前是什么输入法。废话少说,先看效果。
使用效果
注释场景
Java代码有三种注释方式,注释场景也是使用中文频率比较高的场景,下面动图演示了两种注释场景的效果。
编码区域输入//,识别到单行注释场景,自动切换为中文输入法。换行后编码,识别到光标位于编码区域,自动切换为英文输入法。再次修改注释,识别到单行注释场景,自动切换为中文输入法。整个过程无缝衔接,丝般顺滑。光标红色表示当前使用中文输入法,灰色表示英文输入法。场景切换的时候会有浮层提示,熟悉后也可以关闭提示。
对代码进行文档注释时,自动识别到当前处于文档注释场景,自动为您切换为中文输入法。不仅仅是注释场景,插件支持智能分析10余种场景,而且还支持自定义场景。
自定义场景
在编码区域只有字符串常量中可能存在中文场景,所以自定义中文场景可以根据字符串变量名或者方法参数名判断是否需要切换为中文输入法。演示插件已经提前配置好了自定义中文场景:chineseName;func(chineseName)。
上图中识别到字符串变量名称为chineseName,则当光标在字符串常量中时自动切换为中文输入法。下图中识别到方法func的参数名称为chineseName,则在赋予字符串常量时自动切换为中文输入法。
主动切换输入法
编码场景肯定使用的是英文,只有在注释、字符串字面量等场景才会使用中文,当然也有可能需要使用英文,简短的英文可以使用中文输入法输入,您也可以主动切换输入法,光标的颜色会随着输入法的改变而改变,始终准确的表示输入法类型。
为了避免主动切换输入法后因为光标的移动又自动切换输入法,因此提供三种锁定输入法的策略,可在设置页面进行选择,默认策略为:主动切换输入法后锁定自动切换直到光标跨行移动或进入编码区域。
下载安装
Smart Input Source插件可以从Intellij官方插件市场进行下载,IDEA路径Preferences >> Plugins >> Marketplace。目前插件支持的IntelliJ IDEA版本为2021.1到2022.3。
插件配置
插件的通用配置可以在IDEA设置中找到,您也可以通过“右键菜单选项>>Smart Input Source>>插件设置”快速进入插件设置页面,基础配置和场景配置中已经为您默认开启常用选项,您也可以自由选择,而且您可以使用自定义中文切换场景实现更多高级场景。
Smart Input Source可以在IntelliJ IDEA插件市场直接下载,IDEA安装完成后需要重启IDEA。由于在mac系统实现自动切换输入法功能需要使用mac系统的辅助功能,第一次使用该插件时会提醒:“IntelliJ IDEA”想使用辅助功能来控制这台电脑,如下图所示:
接下来您需要点击“打开系统偏好设置”按钮,弹出如下窗口,按照图中步骤操作。如果没有自动弹出,可以当上面提示再次出现后再次点击“打开系统偏好设置”按钮,或者按如下步骤操作:“系统偏好设置” >> “安全性与隐私” >> "隐私" >> "辅助功能"。