JetBrains IntelliJ支持自動(dòng)切換輸入法,寫代碼如絲般順滑

Smart Input 插件簡介
????????對于母語為中文的開發(fā)者,寫代碼過程中經(jīng)常需要在中/英輸入法之間進(jìn)行切換,而且由于不清楚當(dāng)前處于哪種輸入狀態(tài),有時(shí)輸入到一半發(fā)現(xiàn)輸入法錯(cuò)了,刪除重新輸入,有時(shí)切換了好幾次都沒有成功,實(shí)在太影響寫代碼了。
????????其實(shí),在哪個(gè)位置需要使用哪種輸入法是可以確定的,既然這樣就可以讓IDE幫助我們自動(dòng)切換輸入法。
????????JetBrains IntelliJ IDE可以通過Smart Input插件實(shí)現(xiàn)自動(dòng)切換輸入法,其核心功能是根據(jù)輸入位置的上下文智能分析當(dāng)前應(yīng)該使用哪種輸入法并自動(dòng)切換,而且還可以通過光標(biāo)的顏色來提醒當(dāng)前是什么輸入法。廢話少說,先看效果。
注釋場景
????????Java代碼有三種注釋方式,注釋場景也是使用中文頻率比較高的場景,下面動(dòng)圖演示了兩種注釋場景的效果。

????????識別到單行注釋場景,自動(dòng)切換為中文輸入法。換行后編碼,識別到光標(biāo)位于編碼區(qū)域,自動(dòng)切換為英文輸入法。整個(gè)過程無需主動(dòng)切換輸入法,寫代碼如絲般順滑。光標(biāo)紅色表示當(dāng)前使用中文輸入法,灰色表示英文輸入法。場景切換的時(shí)候會(huì)有浮層提示,熟悉后也可以關(guān)閉提示。

????????對代碼進(jìn)行文檔注釋時(shí),自動(dòng)識別到當(dāng)前處于文檔注釋場景,自動(dòng)為您切換為中文輸入法。中文輸入法狀態(tài)也可以進(jìn)行簡單的英文輸入。
Commit Message場景
一般我們都是使用中文寫git的提交信息,該插件可以做到當(dāng)Commit Message輸入框獲取到焦點(diǎn)時(shí)切換為中文輸入法。

IdeaVim場景
????????習(xí)慣使用IdeaVim插件的人都知道在vim命令模式必須使用英文輸入法,Smart Input插件可以在進(jìn)入命令模式時(shí)自動(dòng)切換為英文輸入法。下圖中光標(biāo)為方塊時(shí)表示進(jìn)入了命令模式。

工具窗口場景
????????在命令終端需要使用英文輸入法,Smart Input插件可以識別到Terminal工具窗口獲取到輸入焦點(diǎn)時(shí)候就會(huì)切換到英文輸入法,省心省力。還有Project、Structure工具窗口也是只需要英文輸入法,還支持通過窗口名稱自定義。

SearchEveryWhere場景
????????雙擊Shift鍵可以喚起SearchEveryWhere對話框,用來搜索類、方法等,這里也是可以確定必須使用英文輸入法,Smart Input插件支持SearchEveryWhere對話框獲取到焦點(diǎn)后切換為英文輸入法。
字符串字面量場景
????????字符串字面量是無法確認(rèn)唯一一種輸入法,插件支持設(shè)置字符串字面量場景的默認(rèn)輸入法,插件也支持根據(jù)字符串變量名或者方法參數(shù)名判斷是否需要切換為中文輸入法。演示插件已經(jīng)提前配置好了自定義中文場景:chineseName;func(chineseName)。

????????上圖中識別到字符串變量名稱為chineseName,則當(dāng)光標(biāo)在字符串字面量中時(shí)自動(dòng)切換為中文輸入法。第二個(gè)配置的意思是如果識別到方法func的參數(shù)名稱為chineseName,則在賦予字符串字面量時(shí)自動(dòng)切換為中文輸入法。
主動(dòng)切換輸入法
????????編碼場景肯定使用的是英文,只有在注釋、字符串字面量等場景才會(huì)使用中文,當(dāng)然也有可能需要使用英文,簡短的英文可以使用中文輸入法輸入,您也可以主動(dòng)切換輸入法,光標(biāo)的顏色會(huì)隨著輸入法的改變而改變,始終準(zhǔn)確的表示輸入法狀態(tài)。

????????為了避免主動(dòng)切換輸入法后因?yàn)楣鈽?biāo)的移動(dòng)又自動(dòng)切換輸入法,因此提供三種鎖定輸入法的策略,可在設(shè)置頁面進(jìn)行選擇,默認(rèn)策略為:主動(dòng)切換輸入法后鎖定自動(dòng)切換直到光標(biāo)跨行移動(dòng)或進(jìn)入編碼區(qū)域。
中文輸入補(bǔ)救功能
????????不使用Smart Input插件情況下,寫代碼的時(shí)候不知道當(dāng)前處于什么輸入狀態(tài),經(jīng)常會(huì)出現(xiàn)如下的不好體驗(yàn),編碼需要英文輸入法,字符串需要中文輸入法,如果不在恰當(dāng)?shù)臅r(shí)機(jī)準(zhǔn)確切換輸入法,就會(huì)出現(xiàn)想要輸入中文,但是在英文輸入法狀態(tài)下輸入了,需要切換輸入法并刪除已經(jīng)輸入的部分重新輸入。

????????使用Smart Input插件情況下,中文輸入補(bǔ)救功能可以幫助你避免刪除已經(jīng)輸入的部分重新輸入,Smart Input插件識別到你切換為中文輸入法之后幫助你完成重新輸入的動(dòng)作,你只需要切換輸入法并接著繼續(xù)輸入就好,如下動(dòng)圖所示。

下載安裝
????????Smart Input插件可以在IntelliJ官方插件市場下載安裝,Smart Input插件已經(jīng)支持了IntelliJ IDEA、Android Studio、PyCharm、WebStorm、CLion等JebBrains全系列產(chǎn)品。
????????您的分享和支持是我們最大的動(dòng)力,如果您也覺得不錯(cuò)就分享給您的小伙伴吧。您有任何疑問或者需求,可以先關(guān)注微信公眾號“開發(fā)效率”,然后發(fā)消息進(jìn)行咨詢,我們會(huì)盡快回復(fù)您。