10 個你可能不知道的 Android Studio 技巧
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 系統切換輸入法快捷鍵衝突,如果你不想修改這個快捷鍵,那麼使用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 個你可能不知道的 Laravel Eloquent 小技巧Laravel
- Vue你可能不知道的7個技巧Vue
- 這個小技巧你可能不知道。
- 你可能不知道的字串分割技巧字串
- 新年新技巧:你可能不知道的Python技巧Python
- Chrome DevTools 中你可能不知道的 9 個除錯技巧Chromedev除錯
- Android-你可能不知道的Drawable用法Android
- 你可能不知道的 transition 技巧與細節
- 你可能不知道的 10 個 Laravel Eloquent 的隱藏特性Laravel
- 7個你可能不知道的蘋果Mac使用技巧 非常有用蘋果Mac
- word七個經常被忽略的實用技巧,第一個你可能就不知道!
- 一些你可能不知道的Flash XSS技巧
- 20個你(可能)不知道的Git命令Git
- Android Pie的9個隱藏功能:你可能錯過的若干最佳技巧Android
- 聊聊 Chrome DevTools 中你可能不知道的除錯技巧Chromedev除錯
- CSS的一些你可能不知道的強大技巧CSS
- 10個大神級的電腦使用技巧,有的程式設計師可能都不知道!程式設計師
- Android 你不知道的除錯技巧(Debug操作彙總)Android除錯
- 好用到爆!10個你可能不知道的VSCode開源工具神器VSCode開源工具
- Android studio使用小技巧Android
- 你可能不知道的htmlHTML
- 你(可能)不知道的web apiWebAPI
- 你可能不知道的JSJS
- 6個你可能從未使用過的Python技巧!Python
- 你可能不知道的 Date 類
- 你可能不知道的小程式
- 你可能不知道的React用法?React
- 【譯】10 個你不知道你需要的 HTML 元素HTML
- 你可能不知道的 Object.defineProperty()Object
- [你可能不知道的Vue]-scoped CssVueCSS
- 你可能不知道的 Laravel Eloquent 操作Laravel
- 關於 sudo 你可能不知道的
- 你可能不知道的css-doodleCSS
- 那些你可能不知道的Web APIsWebAPI
- 你可能不知道的絕對定位
- 你可能不知道的dialog彈窗
- ? Spring技術原理系列(7)帶你看看那些可能你還不知道的Spring特性技巧哦!Spring
- 你不知道的 PHP 快取技巧PHP快取