IntelliJ下使用Code/Live Template加快編碼速度:程序員的工作不是寫程序,而是寫程序解決問題

程序員的工作不是寫程序,而是寫程序解決問題。 --- 某不知名程序員


我們每天都在寫代碼,有些代碼有結構性的相似,但不是所有的代碼都可以被抽成方法。在這種情況下,我們應該考慮使用template的方式加快我們的開發速度。這篇博客會先介紹IntelliJ下已經有的一些code/live template,然後介紹如何自定義template。

1.IntelliJ下已有的template

在java中,我們時常會遇到遍歷一個iterable的情況。如下所示:

       for (Integer item : items) {
            //...
        }

你可以選擇一個字母,一個字母的敲,但是在IntelliJ下面,你只需要輸入iter再按TAB鍵,就可以自動生成這個代碼,和原來的代碼比起來,你需要敲鍵盤的次數少了幾倍。


這個時候,紅色的框框部分就是當前你的編輯區域,因爲我之前有一個items的變量,這裏IntelliJ會建議Iterable是items。如果你覺得不對也可以修改,確認後敲Enter。


敲了回車以後,就進入下一個編輯的部分,而不需要你手動的去移動光標。確實很Intelligent啊。

IntelliJ中提供了很多現有的Code/Live Template,你可以在Settings中找到這些已有的template:

比如sout可以輸出System.out.println(...), ifn可以輸入if (xxx == null) 等等。學習這些template,並且靈活運用,可以縮短你敲鍵盤的速度。


2.自定義Live Template

IntelliJ提供了很多現成的template。但你也可以根據自己的需要創建新的template。舉個例子,我們經常在測試代碼中寫出如下的代碼:

        assertThat(person.getAge(), is(18));

我們會寫很多次的assertThat(..., is(...))。每次這樣去敲,讓我覺得很煩,

我們來看如何在IntelliJ中配置這個模板來簡化這個輸入。



如上圖所示,進入IntelliJ的Settings的Live Template,我們創建一個新的template:ati。

1)縮寫名(Abbreviation):ati。ati就是assertThat(..., is(...))的縮寫,在以後,你只需要輸入ati,就有辦法自動變成assertThat(..., is(...));了

2)模板文本(Template text):assertThat($result$, is($expect$))。這裏被$括起來的部分就是敲了Enter以後,光標會停留的部分。

3)使用情況(Applicable):statement。這表示你創建一個statement的時候,可以用到這個template。

4)選項(options):Enter。這裏我選擇的使用Enter出發ati變成完整的assert語句。不過建議使用TAB,這樣的話,和IntelliJ自己提供的template保持統一。

這樣就配好了template。讓我們來試驗一下:


第二行就是提示template,這個時候輕盈的按下TAB鍵,就會看到:


光標就正在等待你輸入了。


總結:

寫程序不是程序員的目的,解決問題纔是程序員的目的,寫程序只是解決問題的一種手段而已。當我們採用寫程序這種方式解決問題時,我們仍然需要專注於問題本身。

提高我們編碼的速度,目的不是自嗨,只是爲了減少敲鍵盤對我們思考問題、解決問題的干擾。

做到心中無碼,才更容易專注於解決問題。


發佈了154 篇原創文章 · 獲贊 17 · 訪問量 87萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章