玩轉Eclipse — 自動代碼生成的Java Code Template

文章轉載地址:點擊打開鏈接

當代碼寫到一定程度之後,就會發現很多代碼都被重複地敲了N多遍,甚至毫不誇張地說:閉着眼睛都能敲出來。大量地敲這些重複地代碼,除了鍛鍊敲鍵盤的速度,基本上沒有其他益處,但是長期下來會浪費很多時間,降低了軟件開發的效率。例如:爲了在程序執行過程中輸出logger信息,需要在每個class中都添加這麼一段代碼:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class XXXClass {
    /**
     * Logging mechanism.
     */
    private static Logger logger = LoggerFactory.getLogger(XXXClass.class);
    
}
        這段代碼在不同class文件中唯一不同的就是class的名稱:XXXClass。一般的人可能會一個字母一個字母地敲一遍;懶一點的人會Ctrl + C和Ctrl + V,然後把XXXClass改一下;聰明人通過幾個字母加上一個快捷鍵就可以搞定。本文就以上面的logger爲例,介紹聰明人使用Java Code Template實現的一種更方便快捷的方式。

1. Template設置

        Eclipse工具欄上選擇Window -> Preferences -> Java -> Editor -> Templates,進入如下界面:


        列表中是Eclipse自帶的Code Template,最後一欄是“on”的表示有效,沒有的表示無效。如果要使自帶的Code Template生效,可以選擇需要的Code Template,點擊“Edit...”,在打開的Edit Template對話框中,選擇“Automatically insert”複選框,點擊“OK”保存設置就行了。使用這些有效的自帶Code Template的方法,與後面演示的logger的使用方法一樣。

        點擊“New...”可以創建一個新的模板,Template的詳細設置如下:


        在需要聲明logger的地方,輸入模板名稱logger,然後按Ctrl + Space快捷鍵,顯示模板logger的提示框如下圖所示:


        選擇需要添加的模板logger,則模板中的代碼會被自動添加,包括import的packages,註釋以及logger聲明。

2. Ctrl + Space失效

        在有些情況下,按了Ctrl + Space快捷鍵之後,沒有反應,也不顯示提示框。可能存在兩種情況:

  • Case 1:沒有設置Content Assist快捷鍵

        Eclipse工具欄上選擇Window -> Preferences -> General -> Keys,進入如下快捷鍵設置界面:


        在編輯框中輸入“content assist”,就會自動搜索到“Content Assist”命令,選擇它之後,在下面的“Binding”編輯框中輸入“Ctrl+Space”,或者直接按Ctrl + Space快捷鍵,然後點擊“OK”。

  • Case 2:Ctrl + Space快捷鍵衝突

        如果Ctrl + Space已經設置爲Content Assist快捷鍵,但是還是沒有效果,可能的原因是Eclipse的Ctrl + Space快捷鍵與Windows系統中輸入法切換的快捷鍵衝突。將輸入法切換的快捷鍵修改成其他,如下圖所示:


3. Ctrl + Space提示框中沒有模板

        如果按了Ctrl + Space之後,提示框中卻沒有顯示模板logger,如下圖所示:


        這是因爲內容提示(Content Assist)中沒有選擇模板提示(Template Proposals)。Eclipse工具欄上選擇Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced,可以進行如下設置:


        選擇兩個方框中“Template Proposals”前面的複選框。如果下面方框中的“Template Proposals”不是第一個,可以選擇它,然後點擊“Up”按鈕直到它處於第一的位置,這樣每次提示框中第一個就是需要的Code Template。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章