Android Studio 的 10 個(gè)你很有可能不知道的技巧
本文原文出處來自 Medium , Android Studio 是每一個(gè) Android 開發(fā)每天都要使用的工具,但是即使你是一個(gè)經(jīng)驗(yàn)豐富的開發(fā)人員,你也可能已經(jīng)錯(cuò)過了許多可以節(jié)約生命的技巧,這篇文章也許就可以幫助你掌握它們其中的一部分。我不會(huì)一字一句地翻譯,而是以最簡潔易懂的方式介紹給你,同時(shí)提供必要的注解和延伸,讓你可以在一遍快速閱讀之后迅速掌握。
本文引用地址:http://2s4d.com/article/201609/303424.htm當(dāng)你想不起來某個(gè)功能怎么用的時(shí)候
如果你是 Windows/Linux 用戶, 那么請按Ctrl + Shift + A, 如果你是 Mac 用戶,那么請按Command + Shift + A,在這個(gè)萬能的輸入框內(nèi)可以輸入你想要執(zhí)行的操作(當(dāng)然是英文),列表中會(huì)顯示對應(yīng)的可選操作以及快捷鍵。不僅僅是操作,如果你只是想改變某個(gè)設(shè)置的時(shí)候,也可以使用這個(gè)功能,例如你想設(shè)置Gradle為 offline work 的話,可以在輸入框輸入offline,對應(yīng)的的結(jié)果中選擇Toggle Offline Work即可,再比如你需要打開粘貼代碼時(shí)候的Auto Import功能,那么也只要在輸入框中輸入Auto Import然后選擇對應(yīng)項(xiàng)即可。
修改快捷鍵
在 Android Studio 中所有快捷鍵都是可以自定義的。請喚起偉大的Ctrl + Shift + A,輸入keymap,選擇位于Settings > Keymap的那個(gè)選項(xiàng),這里能看到所有的快鍵鍵,一般不建議在原有快捷鍵方案上直接修改快捷鍵,而是拷貝一份現(xiàn)有的方案再在上面改,在Keymaps的下拉框中選擇一份現(xiàn)有的方案(默認(rèn)為 Default),點(diǎn)擊右邊的Copy,然后在列表中需要修改的快捷鍵的項(xiàng)目上右鍵,選擇Add Keyboard Shortcut,然后就可以設(shè)置自己喜歡的快捷鍵了,如果設(shè)置的快捷鍵與其它按鍵有沖突,會(huì)以紅色錯(cuò)誤信息提示。
由于列表中快捷鍵數(shù)量比較多,所以我們還可以利用右邊的搜索框進(jìn)行搜索,例如需要修改基本自動(dòng)補(bǔ)全的快捷鍵我們只要輸入Basic,就可以在結(jié)果中找到對應(yīng)的項(xiàng)了。
你需要了解的自動(dòng)補(bǔ)全
一般使用 Android Studio 的時(shí)候,自動(dòng)提示會(huì)在你想要提示的時(shí)候自動(dòng)出現(xiàn),比如輸入Log.,就會(huì)提示一堆比如Log.d(), Log.e, Log.i()。不過如果你在自動(dòng)提示的時(shí)候手一抖選錯(cuò)的話,比如想選Log.d()結(jié)果選了Log.e(),你是不是會(huì)把.e()都刪掉,然后再輸入一個(gè).,其實(shí)遇到這種需要重新手動(dòng)呼起自動(dòng)補(bǔ)全的情形只需要使用Ctrl + Alt + 空格就可以了。
其實(shí)還有兩種方法:一是基本補(bǔ)全Ctrl + 空格,然而 Windows 用戶表示不開心,因?yàn)檫@和 Windwos 系統(tǒng)切換輸入法快捷鍵沖突,如果你不想修改這個(gè)快捷鍵,那么使用Ctrl + Alt + 空格作為替代,如果你想修改這個(gè)快鍵鍵,那么你可以使用上一小節(jié)的方法設(shè)置新的快捷鍵,在Keymaps界面搜索Basic,然后在過濾后的結(jié)果中選擇Code->Completion->Basic進(jìn)行設(shè)置;另一種方法是智能補(bǔ)全Ctrl + Shift + 空格, 不過智能補(bǔ)全遠(yuǎn)遠(yuǎn)不止這個(gè)功能,當(dāng)你調(diào)用方法時(shí),可以使用智能補(bǔ)全在當(dāng)前上下文聯(lián)想符合該方法形參類型的變量。
在自動(dòng)提示以后使用 Tab 鍵替換當(dāng)前的方法或值
如果我們手動(dòng)呼出自動(dòng)補(bǔ)全的時(shí)候,當(dāng)前位置已經(jīng)有對應(yīng)的方法或者變量(比如原來調(diào)用Obj的A方法,然后我們把光標(biāo)定位到A方法的位置,呼出自動(dòng)補(bǔ)全,希望自動(dòng)補(bǔ)全的B方法代替A方法),這時(shí)候如果我們選中補(bǔ)全的的項(xiàng)目,按下回車,那么補(bǔ)全的內(nèi)容會(huì)插入到原來內(nèi)容的前面,這不是我們想要的內(nèi)容,其實(shí)這時(shí)候不應(yīng)該按回車,而是Tab。
當(dāng)你寫完了一行代碼
這種情況非常常見,當(dāng)你寫完一行代碼的時(shí)候,光標(biāo)并不在當(dāng)前行的末尾,比較常見的是光標(biāo)右邊還有 N 個(gè) 右括號(hào),這時(shí)候你會(huì)怎么辦?可能你會(huì)使用方向鍵把光標(biāo)移動(dòng)到行末,然后手動(dòng)輸入一個(gè);。其實(shí)有更簡單的方案,那就是Ctrl + Shift + 回車,這個(gè)快捷鍵會(huì)幫助你自動(dòng)補(bǔ)全當(dāng)前表達(dá)式所缺的部分,包括在行末輸入;,值得一提的是,該快捷鍵對if,else,for,while控制循環(huán)同樣有效。
還有一種情況,光標(biāo)并不在行尾,但是你希望可以在下一行插入一個(gè)空行,Shift + 回車可以幫你完成這個(gè)任務(wù)。
三個(gè)定位的小技巧
使用 4 個(gè)方向鍵定位光標(biāo)是我們最熟悉的方法,但是其實(shí)可以更方便的。在按方向鍵的同時(shí)按住Ctrl,可以一個(gè)單詞一個(gè)單詞移動(dòng);在按上下鍵的同時(shí)按住Alt, 可以一個(gè)節(jié)點(diǎn)(方法或者字段)一個(gè)節(jié)點(diǎn)移動(dòng);如果在按上下鍵的同時(shí)按住Shift + Ctrl,可以把當(dāng)前行和上下行交換位置。
根據(jù)后綴自動(dòng)生成的代碼模板
日常使用編輯器的過程中,有很多固定格式的寫法,例如if-else, for 等等,使用代碼模板可以更快得幫助我們生成期望的代碼。舉個(gè)例子,先輸入一個(gè)集合類型的變量并且加上后綴.fori,這時(shí)候自動(dòng)提示會(huì)提示按照該集合類型生成for循環(huán),同理,布爾類型的表達(dá)式加上.if后綴也可以生成以該表達(dá)式為條件的if語句。
實(shí)際上,上面這兩種代碼模板是IntelliJ自帶的,Android Studio 還提供了許多與 Android 有關(guān)的代碼模板,比如生成Toast和Parcelable的模板,查看所有可用模板以及自定義模板的方法是首先Ctrl + Shift + A呼出萬能的搜索框,輸入Live templates,選擇位于Settings的Live Templates,在這里就可以看到所有可用的代碼模板。
Debug 時(shí)自定義對象顯示的技巧
在調(diào)試代碼的時(shí)候,我們常常需要查看一個(gè)對象的值。尤其是自定義的對象,我們常常沒有實(shí)現(xiàn)它的toString方法,那么這個(gè)對象在 IDE 的值就是 ClassName:HashValue 這個(gè)樣子。我們需要點(diǎn)開這個(gè)對象查看它里面各個(gè)成員的值。在不實(shí)現(xiàn)toString方法的情況下其實(shí)有更好的方法。在 Debug 的Variable窗口中右鍵需要查看的對象,選擇View as,既可以設(shè)置該對象在 Debug 狀態(tài)下顯示的方式。
評(píng)論