我也是醉,簡書不支持多個動態(tài)圖了?好吧。(原來是簡書圖床暫時有點問題)有圖的版本請移步:
在Android Studio你不知道的快捷鍵(一)里面,主要講述了一些窗口操作的快捷鍵還有補全參數(shù)提示等,這一篇會分享一些代碼代碼編輯的快捷鍵。(默認Keymap如上文)
自動生成變量

作為一門靜態(tài)類型語言,Java是有一定的類型推導能力的;那么你是否經常書寫:
String testStr = "testStr";
List<String> testStrings = new ArrayList<String>();
其實大可不必寫那些惱火的類型聲明的,一看就知道testStr, testStrings就知道是什么類型,再這么干不就是廢話么!好在IDEA給了我們這個能力。嘗試一下這個快捷鍵吧,會給你驚喜。
- Mac:
Cmd + Alt + V - Win/Linux:
Ctrl + Alt + V
有的童鞋可能會問了:我使用ArrayList, HashMap的時候,習慣類型聲明為List,Map等接口,這個自動生成的類型聲明還是具體的實現(xiàn)啊,怎么辦?這一點IDE已經幫你想到了,試試shift + tab,他會給你一個可以選擇的類型列表~
自動提取參數(shù)

有時候你正在寫一個方法的時候發(fā)現(xiàn)。哎喲,這個變量最好是當作參數(shù)傳遞進來啊;要做成這么一件事,你必須把這個方法內部所有使用這個局部變量的地方替換,把所有調用這個函數(shù)的地方添加參數(shù),繁瑣至極!好了有了這個你可以隨便玩了:
- Mac:
Cmd + Alt + P - Win/Linux:
Ctrl + Alt + P
當然,如果你想保留原來的方法,只是搞一個參數(shù)不同的方法(重載)出來,可以在彈出的那個對話框里面打勾。
自動提取方法

寫代碼的時候是否會發(fā)現(xiàn)不知不覺的這個方法已經太長了,適合分解然后提取出一個個子方法;或者是重構的時候看到一個一兩千的函數(shù),你是不是頭都大了?一般情況下,我們都是把要提取的代碼copy出來,然后寫一個方法(還要什么該死的方法簽名)然后把這段代碼復制進來;其實這個過程是機械的,完全可以由IDE完成:
- Mac:
Cmd + Alt + M - Win/Linux:
Ctrl + Alt + M
如果想改變方法的簽名,在對話框里面選擇你需要的就可以了~
上面提到了三個快捷鍵其實是比較類似的,如何記憶呢?
- 首先組合鍵都是
Cmd/Ctrl + Alt- 然后提取變量Variable=V,參數(shù)Parameters=P,方法Method=M
內聯(lián)變量/參數(shù)/方法

好了學會了上面那幾個快捷鍵,萬一玩high了,比如提取了太多的方法,想“弄回去”,該怎么辦呢?這個操作叫他Inline..:
- Mac:
Cmd + Alt + N - Win/Linux:
Ctrl + Alt + M
上面那個圖只是參考,其實不僅可以作用于變量,還可以是方法/參數(shù),個人覺得方法inline比較有用。
萬能重構鍵

靜態(tài)類型語言重構起來相對容易的,但是通常修改一個地方會牽扯到很多別的地方,我們只有一處一處找到這些編譯錯誤然后手動修復。其實有好多工作是可以自動完成的,比如刪除某個方法;先確認有沒有人調用(Alt + F7),沒有的話把方法體刪了,有的話去看看調用的地方再決定怎么辦。
但是重構的操作實在是太多了!我們沒有辦法也沒有必要一個個記住,知道這個快捷鍵即可,我叫他萬能重構鍵:
- Mac :
Ctrl + T - Win/Linux:
Ctrl + Alt + Shift + T
在Win/Linux上可以考慮把這個快捷鍵改一下鍵,一下按四個鍵臣妾很難做到啊。。
這個重構菜單每一個功能都可以自己去嘗試一下,使用之后不好用你來打我。
重命名

好了介紹了那么多貌似很高端的玩意,來個大部分人都知道的吧。有時候你發(fā)現(xiàn)有個變量名字取得有問題,或者沒文化的隊友/自己單詞拼錯了咋辦?需要把所有用到這個變量的地方重新命名,小case!
快捷鍵:shift + F6
OK, 這一期的分享就到這里。如果沒有看過上一篇的可以移步:
Android Studio你不知道的快捷鍵(一)