Android Studio 高階配置

liukun發表於2016-09-16

本文主要內容來自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 + EnterControl + 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

設定

Log 顏色

Darcula 主題中 Logcat 的預設配色只有紅白兩種顏色,不太便於我們區分Log 的型別。

Darcula 主題配色

我建議大家採用之前 Android Holo 主題那種鮮明的配色。

Holo 主題配色

配置方法

  • File | Settings開啟設定
  • 選擇Editor | Color & Fonts | Android Logcat
  • 點選Click on Save As…按鈕建立一個新的配色Scheme
  • 按照下面的表格修改對應的顏色( 修改之前需要取消勾選Use inherited attributes)


下面是個人的一些補充:

程式碼配色

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該有的樣子:

private static class MyHandler extends Handler {
        private WeakReference<MainActivity> activityWeakReference;

        public MyHandler(MainActivity activity) {
            activityWeakReference = new WeakReference<MainActivity>(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自動替換為當前類不含包名的類名

  • 點選ApplyOk讓設定生效。

至此,一個我們自定義的custom模板組中的psh活動模板就定義完成了。下面我們來驗證一下,見證奇蹟的時候到了:

相關文章