Android Studio你不知道的快捷鍵(二)

我也是醉,簡書不支持多個動態(tài)圖了?好吧。(原來是簡書圖床暫時有點問題)有圖的版本請移步:

  1. Android Studio你不知道的快捷鍵(一)
  2. Android Studio你不知道的快捷鍵(二)

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ù)

自動提取參數(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

如果想改變方法的簽名,在對話框里面選擇你需要的就可以了~

上面提到了三個快捷鍵其實是比較類似的,如何記憶呢?

  1. 首先組合鍵都是Cmd/Ctrl + Alt
  2. 然后提取變量Variable=V,參數(shù)Parameters=P,方法Method=M

內聯(lián)變量/參數(shù)/方法

內聯(lián)

好了學會了上面那幾個快捷鍵,萬一玩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你不知道的快捷鍵(一)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容