1. 程式人生 > >Eclipse中自定義類似“syo”出現“System.out.println();”程式碼塊縮寫自動補全

Eclipse中自定義類似“syo”出現“System.out.println();”程式碼塊縮寫自動補全

在eclipse中,當你輸入“syo”然後點選自動補全快捷鍵(我設定的是“Alt+/”),eclipse就會自動補全成碼“System.out.println();”。

注:因為不知道這個功能的真名叫什麼所以在本部落格中先暫時稱之為“程式碼塊自動補全”。以上面為例,其中“syo”暫稱為縮寫
“System.out.println();”暫稱為程式碼塊,點選“Tab”按鈕後在游標在引數間跳轉的地方暫稱為Tab跳轉處。

由於自定義這種程式碼塊自動補全將提高我們程式碼輸入效率,該設定在window->preferences->java->editer->templates中。在裡面我們可以看到一些已經設定好的程式碼塊補全設定,裡面我們可以找到“syout”選項,這就是我們平常打的“syo”了。(因為輸入“syo”之後,系統已經可以確定是“syout”的程式碼塊,所以後面的“ut”可以不用輸入)

在這裡“Name”是這個程式碼塊的名稱,也是對應在eclipse中鍵入的縮寫,儘量取一些偏僻的名字,避免跟一些類和變數重名
“context”應該是這個縮寫應用在哪裡(確切含義不大清楚)“description”是這個縮寫的描述,可以隨便寫,“auto insert”設定該縮寫是否自動填入(“syo”預設是“on”,所以點選補全是是直接輸入,當關閉該功能時,點選補全,則需要在列表中選擇)
自己親手嘗試一下印象深刻一點(雙擊已有的設定就能修改)。

然後就是自定義了,點選靠右上方的“New”按鈕,彈出彈窗,彈窗上方就是上面說的三個引數,重點在下方的輸入框,裡面需要寫一些程式碼塊的表示式。


先舉一個簡單的例子,我想定義一個名字為“llo”的自定義輸入來輸入Log語句。
我在程式碼表達式裡這樣寫(其他的應該自己會填吧)
"Log.i("address" , "${cursor}");"其中${cursor}在表示式中表示游標所停的位置(前提是前面沒有Tab跳轉處,後面會提到)
這樣子,當我輸入llo點選補全時就會輸出"Log.i("address" , "");",而且游標停在第二個雙引號之間。句末的Tab跳轉處是系統自動加的。
再舉一個例子,我想定義一個名字為“ffo”的自定義輸入來輸入for語句
我在程式碼塊表示式裡這樣寫
for(${name1} ; ${name2} ; ${name3})
{
    ${line_selection}
}
其中${name1}是自定義Tab跳轉處,其名字為name1,後面同理${line_selection}是指空行的Tab跳轉處。
在按鈕“Insert Variable”中還有很多系統定義的引數,如${return_type}是指返回型別、當代碼塊放在返回型別為String的方法裡的時候,${return_type}就會變成String。同理放在返回型別為int的方法裡是會變成int。