標籤:
英文原文:medium
-
- 當你想不起來某個功能怎麼用的時候
- 修改快速鍵
- 你需要瞭解的自動補全
- 在自動提示以後使用 Tab 鍵替換當前的方法或值
- 當你寫完了一行代碼
- 三個定位的小技巧
- 根據尾碼自動產生的程式碼模板
- Debug 時自訂對象顯示的技巧
- 總結
Android Studio 是每一個 Android 開發每天都要使用的工具,但是即使你是一個經驗豐富的開發人員,你也可能已經錯過了許多可以節約生命的技巧,這篇文章也許就可以協助你掌握它們其中的一部分。我不會一字一句地翻譯,而是以最簡潔易懂的方式介紹給你,同時提供必要的註解和延伸,讓你可以在一遍快速閱讀之後迅速掌握。
當你想不起來某個功能怎麼用的時候
如果你是 Windows/Linux 使用者, 那麼請按Ctrl + Shift + A, 如果你是 Mac 使用者,那麼請按Command + Shift + A,在這個萬能的輸入框內可以輸入你想要執行的操作(當然是英文),列表中會顯示對應的可選操作以及快速鍵。不僅僅是操作,如果你只是想改變某個設定的時候,也可以使用這個功能,例如你想設定Gradle為 offline work 的話,可以在輸入框輸入offline,對應的的結果中選擇Toggle Offline Work即可,再比如你需要開啟粘貼代碼時候的Auto Import功能,那麼也只要在輸入框中輸入Auto Import然後選擇對應項即可。
修改快速鍵
在 Android Studio 中所有快速鍵都是可以自訂的。請喚起偉大的Ctrl + Shift + A,輸入keymap,選擇位於Settings > Keymap的那個選項,這裡能看到所有的快鍵鍵,一般不建議在原有快速鍵方案上直接修改快速鍵,而是拷貝一份現有的方案再在上面改,在Keymaps的下拉框中選擇一份現有的方案(預設為 Default),點擊右邊的Copy,然後在列表中需要修改的快速鍵的項目上右鍵,選擇Add Keyboard Shortcut,然後就可以設定自己喜歡的快速鍵了,如果設定的快速鍵與其它按鍵有衝突,會以紅色錯誤資訊提示。
由於列表中快速鍵數量比較多,所以我們還可以利用右邊的搜尋方塊進行搜尋,例如需要修改基本自動補全的快速鍵我們只要輸入Basic,就可以在結果中找到對應的項了。
你需要瞭解的自動補全
一般使用 Android Studio 的時候,自動提示會在你想要提示的時候自動出現,比如輸入Log.,就會提示一堆比如Log.d(), Log.e, Log.i()。不過如果你在自動提示的時候手一抖選錯的話,比如想選Log.d()結果選了Log.e(),你是不是會把.e()都刪掉,然後再輸入一個.,其實遇到這種需要重新手動呼起自動補全的情形只需要使用Ctrl + Alt + 空格就可以了。
其實還有兩種方法:一是基本補全Ctrl + 空格,然而 Windows 使用者表示不開心,因為這和 Windwos 系統切換IME快速鍵衝突,如果你不想修改這個快速鍵,那麼使用Ctrl + Alt + 空格作為替代,如果你想修改這個快鍵鍵,那麼你可以使用上一小節的方法設定新的快速鍵,在Keymaps介面搜尋Basic,然後在過濾後的結果中選擇Code->Completion->Basic進行設定;另一種方法是智能補全Ctrl + Shift + 空格, 不過智能補全遠遠不止這個功能,當你調用方法時,可以使用智能補全在當前上下文聯想符合該方法形參類型的變數。
在自動提示以後使用 Tab 鍵替換當前的方法或值
如果我們手動呼出自動補全的時候,當前位置已經有對應的方法或者變數(比如原來調用Obj的A方法,然後我們把游標定位到A方法的位置,呼出自動補全,希望自動補全的B方法代替A方法),這時候如果我們選中補全的的項目,按下斷行符號,那麼補全的內容會插入到原來內容的前面,這不是我們想要的內容,其實這時候不應該按斷行符號,而是Tab。
當你寫完了一行代碼
這種情況非常常見,當你寫完一行代碼的時候,游標並不在當前行的末尾,比較常見的是游標右邊還有 N 個 右括弧,這時候你會怎麼辦?可能你會使用方向鍵把游標移動到行末,然後手動輸入一個;。其實有更簡單的方案,那就是Ctrl + Shift + 斷行符號,這個快速鍵會協助你自動補全當前運算式所缺的部分,包括在行末輸入;,值得一提的是,該快速鍵對if,else,for,while控制迴圈同樣有效。
還有一種情況,游標並不在行尾,但是你希望可以在下一行插入一個空行,Shift + 斷行符號可以幫你完成這個任務。
三個定位的小技巧
使用 4 個方向鍵定位游標是我們最熟悉的方法,但是其實可以更方便的。在按方向鍵的同時按住Ctrl,可以一個單詞一個單詞移動;在按上下鍵的同時按住Alt, 可以一個節點(方法或者欄位)一個節點移動;如果在按上下鍵的同時按住Shift + Ctrl,可以把當前行和上下行交換位置。
根據尾碼自動產生的程式碼模板
日常使用編輯器的過程中,有很多固定格式的寫法,例如if-else, for 等等,使用代碼模板可以更快得協助我們產生期望的代碼。舉個例子,先輸入一個集合類型的變數並且加上尾碼.fori,這時候自動提示會提示按照該集合類型產生for迴圈,同理,布爾類型的運算式加上.if尾碼也可以產生以該運算式為條件的if語句。
實際上,上面這兩種代碼模板是IntelliJ內建的,Android Studio 還提供了許多與 Android 有關的代碼模板,比如產生Toast和Parcelable的模板,查看所有可用模板以及自訂模板的方法是首先Ctrl + Shift + A呼出萬能的搜尋方塊,輸入Live templates,選擇位於Settings的Live Templates,在這裡就可以看到所有可用的代碼模板。
Debug 時自訂對象顯示的技巧
在調試代碼的時候,我們常常需要查看一個對象的值。尤其是自訂的對象,我們常常沒有實現它的toString方法,那麼這個對象在 IDE 的值就是 ClassName:HashValue 這個樣子。我們需要點開這個對象查看它裡面各個成員的值。在不實現toString方法的情況下其實有更好的方法。在 Debug 的Variable視窗中右鍵需要查看的對象,選擇View as,既可以設定該對象在 Debug 狀態下顯示的方式。
總結
感謝你看到這裡
10 個你有可能不知道的Android Studio技巧