快捷鍵:
Enter or Tab
Android Studio 里使用Enter或Tab進行代碼補全到底有沒有區別?
描述:
在Android Studio 中代碼補全可以使用Enter
或者Tab
鍵。
一般來說按Enter
或者Tab
鍵做代碼補全是有區別的。
使用
Enter
時,從光標處插入補全的代碼,對原來的代碼不做任何操作。使用
Tab
時,從光標處插入補全的代碼,并 刪除后面的代碼,直到遇到點號、圓括號、分號或空格為止。
幾乎所有其它的教程和文檔里都是這樣說的。但是,下面的例子中,讀者可以看到,上面的說到的這兩種代碼補全的方式的區別不完全正確,這兩種方式可以完全相同,相同不相同取決于編程者的編程習慣。
使用:
下面就用上圖中的例子來做演示。
我們要用代碼補全在 tV.toString()
中的.toString()
前加入.getHint()
,使其變成 tV.getHint().toString()
。
例子1:
在tV.toString()
的toString()
前鍵入getH
然后選擇代碼補全彈窗中的getHint()
按Enter
或者Tab
鍵做代碼補全。在這種代碼補全的方式中,按Enter
或者Tab
是有區別的。
使用Enter
時,從光標處插入補全的代碼,對原來的代碼不做任何操作。
使用Tab
時,從光標處插入補全的代碼,但是 刪除后面的代碼,直到遇到點號、圓括號、分號或空格為止。
1、在tV.toString()
的toString()
前鍵入getH
。
2、選擇彈窗里getHint()
后,按Enter
。
現在tV.toString()
變成了tV.getHint()toString()
。getHint()
是從光標處插入補全的,原來的toString()
代碼沒有被改動。再按一次.
,即可完成代碼補全,將 tV.toString()
變成tV.getHint().toString()
。
3、現在我們回到第二步,但是這次是按Tab
鍵。
這一次,tV.toString()
變成了tV.getHint()
,在getHint()
被補全后,getHint()
后的所有的代碼一直被刪除到行末的;
,即原來的toString()
被全部刪除。
所以,用這樣的方式代碼補全,按Enter
或者Tab
鍵是有區別的。按Enter
不刪除補全代碼之后的代碼,按Tab
則刪除補全代碼之后的全部代碼直到遇到點號、圓括號、分號或空格為止。
動畫演示:
現在我們看下一個例子,在這個例子中,僅因為做代碼補全的習慣方式不一樣,按Enter
或者Tab
鍵就沒有任何區別。
例子2:
在tV.toString()
的tV
后鍵入.
,然后選擇getHint()
,按Enter
或者Tab
鍵做代碼補全。在這種代碼補全的方式中,按Enter
或者Tab
是沒有區別的。
1、將光標定位到tV
之后,按.
。
2、選擇彈窗里getHint()
后,按Enter
。
現在tV.toString()
變成了tV.getHint().toString()
,代碼補全完成。getHint()
插入后,沒有刪除任何代碼。
3、現在我們將代碼恢復原樣,然后重復第一步和第二步,但是這次是按Tab
鍵。
看到沒有,代碼補全完成,但是和按Enter
效果一樣,沒有代碼被刪除。
動畫演示:
總結
一般來說按Enter
或者Tab
鍵做代碼補全是有區別的,但是不絕對。有沒有區別取決于使用者做代碼補全時的編程習慣。
例子1和例子2演示了由于不同的代碼補全的編程習慣,按Enter
或者Tab
鍵做代碼補全的不同的表現。
其實,兩種編程習慣都有很多人用。但是在例子2中那種代碼補全的方式應該是更為合適的方式。
更多Android Studio技巧
簡書:
Android Studio 技巧之【Join Lines and Literals】
Android Studio 技巧之【Delete Line】
Android Studio 技巧之【Move Methods】
Android Studio 技巧之【Duplicate Line】
Android Studio 技巧之【Move Lines Up Down】
Android Studio 技巧之【Sublime Text Multi Selection】
Android Studio 技巧之【Column Selection】
Android Studio 技巧之【Extract Parameter】
Android Studio 技巧之【Extract Constant】
Android Studio 技巧之【Extract Method】
Android Studio 技巧之【Extract Field】