本文主要內容來自 Dmytro Danylyk 在 Medium 的文章Configuring Android Studio。在此感謝!雖然使用Android Studio 有一定的時間了,但文中的某幾個設定之前還真不知道,且原文在長城外,因此在翻譯原文的基礎上作了一些補充,若有新的發現會即時更新。當然,原文中個別技巧也談不上高階,出於對作者的尊重,仍然全部翻譯了過來,希望對大家尤其是剛接觸 Android Studio 的朋友有一點幫助。
前面的話
Android Studio 提供了一個非常方便的功能幫助我們匯入或者匯出設定。因此我們在安裝一個新的 Android Studio 的時候通常會匯入一個之前的設定。但是,最近發生了一件悲劇的事情-我丟失了我的設定檔案(幸災樂禍點個贊~)。
我的建議:即時的備份你的設定檔案到雲盤等地方。
當我在配置我的 Android Studio 的時候,下面的一些配置技巧或許對你有一定的幫助。
顯示行號
當我首次啟動我的 Android Studio 的時候,我想做的第一件事就是希望能看到檔案中的行號,我一直很奇怪這個基本的配置為毛不是預設開啟的?!
對此我只想說四個字:
未顯示行號
顯示行號
配置方法
- File | Settings 開啟設定
- 選擇 Editor | General | Appearance
- 勾選 Show line numbers
設定
ps:在編輯區域最左側右鍵選中 Show line numbers 也可以讓當前開啟的檔案顯示行號,不過這是一個臨時設定,當前檔案關閉後便失效。
駝峰選擇
Android 開發中,我們通常會使用駝峰命名法對變數進行命名,但是當我們通過 Ctrl + Left / Right 鍵改變字元選擇區域的時候 Android Studio 預設不支援‘駝峰’單詞的選擇。
不支援駝峰選擇
支援駝峰選擇
配置方法
- File | Settings 開啟設定
- 選擇 Editor | General | Smart Keys
- 選中 Use “CamelHumps” words
設定
注意:如果你仍然希望當滑鼠在單詞上雙擊之後選中整個單詞,需要作如下設定:
- File | Settings 開啟設定
- 選擇 Editor | General
- 取消選中 ‘Honor Camel Humps words settings when selecting on double click’
命名字首
我們通常會遵循 Android 官方關於編碼風格的指導來進行欄位命名。在 Android 原始碼中我們可以看到通常成員變數都是以‘m’開始。其實Android Studio 可以自動在幫我們生成欄位名稱的時候加上自定義的字首,如:
- 非共有,非靜態的成員變數以’m’開始
- 靜態成員變數以’s’開始
命名字首
配置方法
- File | Settings 開啟設定
- 選擇 Editor | Code Style | Java
- 選擇 Code Generation 標籤
- 給普通 Field 新增一個’m’字首,給 Static filed 新增一個’s’字首
設定
快速導包
在 Android Studio 中,我們可以通過 Alt + Enter 和 Control + Alt + O 進行導包和清除無用導包,但我們都生活在2016年了,這些事情應當快速自動完成。
未開啟imports on the fly
開啟imports on the fly
配置方法
- File | Settings 開啟設定
- 選擇 Editor | General | Auto Import
- 勾選 Optimize imports on the fly
- 勾選 Add unambiguous imports on the fly
設定
PS:這裡我補充一下,關於這個配置,個別朋友在問,如果我的專案中兩個甚至多個包下都有一個類叫 ImageLoader ,自動匯入的結果有沒有可能不是我想要的包下的?兄弟你放心,你去查一下 unambiguous 的意思就知道了。針對包名不確定的情況, Android Studio 會選擇 No can no import, you can you up ,不會自作聰明,而是會讓你自己手動匯入。所以,請放心使用。
Log 顏色
Darcula 主題中 Logcat 的預設配色只有紅白兩種顏色,不太便於我們區分 Log 的型別。
Darcula 主題配色
我建議大家採用之前 Android Holo 主題那種鮮明的配色
Holo 主題配色
配置方法
- File | Settings 開啟設定
- 選擇 Editor | Color & Fonts | Android Logcat
- 點選 Click on Save As…按鈕建立一個新的配色 Scheme
- 按照下面的表格修改對應的顏色(修改之前需要取消勾選 Use inherited attributes)
Log級別 | 顏色 |
---|---|
Assert: | #AA66CC |
Debug: | #33B5E5 |
Error: | #FF4444 |
Info: | #99CC00 |
Verbose: | #FFFFFF |
Warning: | #FFBB33 |
蒼老師的事業線
下面是個人的一些補充:
程式碼配色
Android Studio 中預設的程式碼配色個人感覺已經很和諧,但這個東西仁者見仁。比如有的朋友會覺得 java 程式碼中區域性變數的預設的白色不太便於快速與其它程式碼進行區分,這時候就需要自定義 java 程式碼顏色,這裡以區域性變數為例。
預設配色
自定義配色
配置方法
- File | Settings 開啟設定
- 選擇 Editor | Color & Fonts | Java
- 點選 Click on Save As…按鈕建立一個新的配色 Scheme
- 展開下方的 Variables 選擇 Local variable
- 設定右側的 Foreground 顏色
設定
工程模板
Android Studio 建立 Module 時並沒有將 Android 開發中常用的檔案目錄全部生成,比如預設只生成了一個 drawable 資料夾,常用的 drawable-hdpi 等資料夾需要我們自己建立。正如前文的作者所言,這都2016年了,這些事情應該自動完成,畢竟我們都很‘懶’!
預設結構
自定義結構
配置方法1
- 進入 Android Studio 安裝目錄
- 依次進入 plugins | android | lib | templates | gradle-projects | NewAndroidModule | root | res
- 在res資料夾下建立 drawable-hdpi 等資料夾(可選:從對應的 mipmap資料夾中拷貝 iclauncher.png到建立的 drawable資料夾中)
- 回到 NewAndroidModule 目錄,用編輯器打 recipe.xml.ftl檔案
- 加入以下配置
配置方法2
- 進入 Android Studio 安裝目錄
- 依次進入 plugins | android | lib | templates | gradle-projects | NewAndroidModule
- 用編輯器開啟 recipe.xml.ftl檔案,並加入以下配置
這兩種方法的區別是,第一種方式可以在資料夾中加入相應的圖片,但是配置稍顯繁瑣,第二種方式配置簡單,但是隻能建立目錄,不能包含預設圖片。
當然,通過類似的方式我們還可以在建立 Module 的時候做很多事情,比如:
- 在 colors.xml 檔案中生成常用顏色
- 在 build.gradle 檔案中生成自定義配置
- 在 .gitignore 檔案中生成自定義忽略配置
- 等等…
活動模板
Android Studio 中預設提供了很多非常方便的活動模板(Live Templates),例如,我們輸入 sout 後按 enter 鍵, Android Studio 會自動幫我們寫入 System.out.println();
其實 sout 就是 AS 自帶的一個活動模板。
由此可以看出,活動模板就是我們常用程式碼的一個縮寫。開發中有很多程式碼都會重複出現,因此自定義合適的活動模板能很大程度上避免我們很多重複的體力勞動。那麼問題來了,如何自定義?
這裡我們以 Handler 為例。下面是在 Activity 中一個合格的 Handler 該有的樣子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
private static class MyHandler extends Handler { private WeakReference activityWeakReference; public MyHandler(MainActivity activity) { activityWeakReference = new WeakReference(activity); } @Override public void handleMessage(Message msg) { MainActivity activity = activityWeakReference.get(); if (activity != null) { } } } |
至於原因我就不再重複了,網上有太多的文章有講過。現在如果我只希望輸入一個‘psh’ 就自動出現上面這段程式碼的話,我應該這麼做:
配置方法
- File | Settings 開啟設定
- 選擇 Editor | Code Style | Live Templates
- 點選最右側的加號並選擇 Template Group
- 在彈出的對話方塊中輸入一個活動模板分組的名稱,如 custom
- 在左側選中上一步中建立的 custom 分組,點選右邊的加號
- 選擇 Live Template ,在 Abbreviation 中對輸入 psh
- 在 Description 中輸入這個活動模板的描述
- 在 Template text 中輸入以下程式碼
- 點選下方的 Define 按鈕,選中 java 表示這個模板用於java程式碼
- 點選右側的 Edit variables
- 選擇 Expression 下拉框中的 className 並勾選 Skip if…
這個操作的作用是,AS會自動將我們在上一步中用’$’符包裹的 className自動替換為當前類不含包名的類名
- 點選 Apply 和 Ok 讓設定生效。
至此,一個我們自定義的 custom 模板組中的 psh 活動模板就定義完成了。下面我們來驗證一下,見證奇蹟的時候到了:
後面的話
- 由於網際網路資料的分享性,如果本文部分內容來源於您的原創文章,且我沒有註明(我相信本文中沒有),請微博私信說明。
- 歡迎轉載,但最好請註明文章原始出處。
- 身為一名老司機,沒有福利不太合適。
- 如果你正在辦公室,不建議你閱讀以下內容。
想啥呢你們,全都是套路!