本文主要內(nèi)容來自 Dmytro Danylyk 在 Medium 的文章Configuring Android Studio。在此感謝!雖然使用AndroidStudio有一定的時間了,但文中的某幾個設(shè)置之前還真不知道,且原文在長城外,因此在翻譯原文的基礎(chǔ)上作了一些補(bǔ)充,若有新的發(fā)現(xiàn)會即時更新。當(dāng)然,原文中個別技巧也談不上高級,出于對作者的尊重,仍然全部翻譯了過來,希望對大家尤其是剛接觸Android Studio的朋友有一點幫助。
Android Studio提供了一個非常方便的功能幫助我們導(dǎo)入或者導(dǎo)出設(shè)置。因此我們在安裝一個新的Android Studio的時候通常會導(dǎo)入一個之前的設(shè)置。但是,最近發(fā)生了一件悲劇的事情-我丟失了我的設(shè)置文件(幸災(zāi)樂禍點個贊~)。
我的建議:即時的備份你的設(shè)置文件到云盤等地方。
當(dāng)我在配置我的Android Studio的時候,下面的一些配置技巧或許對你有一定的幫助。
當(dāng)我首次啟動我的Android Studio的時候,我想做的第一件事就是希望能看到文件中的行號,我一直很奇怪這個基本的配置為毛不是默認(rèn)開啟的?!
對此我只想說四個字:



顯示行號
配置方法
File|Settings打開設(shè)置
選擇Editor|General|Appearance
勾選Show line numbers

設(shè)置
ps:在編輯區(qū)域最左側(cè)右鍵選中Show line numbers也可以讓當(dāng)前打開的文件顯示行號,不過這是一個臨時設(shè)置,當(dāng)前文件關(guān)閉后便失效。
Android開發(fā)中,我們通常會使用駝峰命名法對變量進(jìn)行命名,但是當(dāng)我們通過Ctrl + Left/Right鍵改變字符選擇區(qū)域的時候Android Studio默認(rèn)不支持‘駝峰’單詞的選擇。


支持駝峰選擇
配置方法
File|Settings打開設(shè)置
選擇Editor|General|Smart Keys
選中Use “CamelHumps” words

設(shè)置
注意:如果你仍然希望當(dāng)鼠標(biāo)在單詞上雙擊之后選中整個單詞,需要作如下設(shè)置:
File|Settings打開設(shè)置
選擇Editor|General
取消選中‘Honor Camel Humps words settings when selecting on double click’
我們通常會遵循Android官方關(guān)于編碼風(fēng)格的指導(dǎo)來進(jìn)行字段命名。在Android源碼中我們可以看到通常成員變量都是以‘m’開始。其實Android Studio可以自動在幫我們生成字段名稱的時候加上自定義的前綴,如:
非共有,非靜態(tài)的成員變量以’m’開始
靜態(tài)成員變量以’s’開始

命名前綴
配置方法
File|Settings打開設(shè)置
選擇Editor|Code Style|Java
選擇Code Generation標(biāo)簽
給普通Field添加一個’m’前綴,給Static filed添加一個’s’前綴

設(shè)置
在Android Studio中,我們可以通過Alt + Enter和Control + Alt + O進(jìn)行導(dǎo)包和清除無用導(dǎo)包,但我們都生活在2016年了,這些事情應(yīng)當(dāng)快速自動完成。


開啟imports on the fly
配置方法
File|Settings打開設(shè)置
選擇Editor|General|Auto Import
勾選Optimize imports on the fly
勾選Add unambiguous imports on the fly

設(shè)置
PS:這里我補(bǔ)充一下,關(guān)于這個配置,個別朋友在問,如果我的項目中兩個甚至多個包下都有一個類叫ImageLoader,自動導(dǎo)入的結(jié)果有沒有可能不是我想要的包下的?兄弟你放心,你去查一下unambiguous的意思就知道了。針對包名不確定的情況,Android Studio會選擇No can no import, you can you up,不會自作聰明,而是會讓你自己手動導(dǎo)入。所以,請放心使用。
Darcula主題中Logcat的默認(rèn)配色只有紅白兩種顏色,不太便于我們區(qū)分 Log 的類型。

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

Holo 主題配色
配置方法
File|Settings打開設(shè)置
選擇Editor|Color & Fonts|Android Logcat
點擊Click on Save As…按鈕創(chuàng)建一個新的配色Scheme
按照下面的表格修改對應(yīng)的顏色(修改之前需要取消勾選 Use inherited attributes)
Log級別顏色
Assert:#AA66CC
Debug:#33B5E5
Error:#FF4444
Info:#99CC00
Verbose:#FFFFFF
Warning:#FFBB33
蒼老師的事業(yè)線
下面是個人的一些補(bǔ)充:
Android Studio中默認(rèn)的代碼配色個人感覺已經(jīng)很和諧,但這個東西仁者見仁。比如有的朋友會覺得Java代碼中局部變量的默認(rèn)的白色不太便于快速與其它代碼進(jìn)行區(qū)分,這時候就需要自定義 java 代碼顏色,這里以局部變量為例。


自定義配色
配置方法
File|Settings打開設(shè)置
選擇Editor|Color & Fonts|Java
點擊Click on Save As…按鈕創(chuàng)建一個新的配色Scheme
展開下方的Variables選擇Local variable
設(shè)置右側(cè)的Foreground顏色

設(shè)置
Android Studio創(chuàng)建Module時并沒有將Android開發(fā)中常用的文件目錄全部生成,比如默認(rèn)只生成了一個drawable文件夾,常用的drawable-hdpi等文件夾需要我們自己創(chuàng)建。正如前文的作者所言,這都2016年了,這些事情應(yīng)該自動完成,畢竟我們都很‘懶’!


自定義結(jié)構(gòu)
配置方法1
進(jìn)入Android Studio安裝目錄
依次進(jìn)入plugins|android|lib|templates|gradle-projects|NewAndroidModule|root|res
在res文件夾下創(chuàng)建drawable-hdpi等文件夾(可選:從對應(yīng)的 mipmap文件夾中拷貝iclauncher.png到創(chuàng)建的drawable文件夾中)
回到NewAndroidModule目錄,用編輯器打recipe.xml.ftl文件
加入以下配置

配置方法2
進(jìn)入Android Studio安裝目錄
依次進(jìn)入plugins|android|lib|templates|gradle-projects|NewAndroidModule
用編輯器打開recipe.xml.ftl文件,并加入以下配置

這兩種方法的區(qū)別是,第一種方式可以在文件夾中加入相應(yīng)的圖片,但是配置稍顯繁瑣,第二種方式配置簡單,但是只能創(chuàng)建目錄,不能包含默認(rèn)圖片。
當(dāng)然,通過類似的方式我們還可以在創(chuàng)建Module的時候做很多事情,比如:
在colors.xml文件中生成常用顏色
在build.gradle文件中生成自定義配置
在.gitignore文件中生成自定義忽略配置
等等…
Android Studio中默認(rèn)提供了很多非常方便的活動模板(Live Templates),例如,我們輸入sout后按enter鍵,Android Studio會自動幫我們寫入System.out.println();

其實sout就是 AS 自帶的一個活動模板。

由此可以看出,活動模板就是我們常用代碼的一個縮寫。開發(fā)中有很多代碼都會重復(fù)出現(xiàn),因此自定義合適的活動模板能很大程度上避免我們很多重復(fù)的體力勞動。那么問題來了,如何自定義?
這里我們以Handler為例。下面是在Activity中一個合格的Handler該有的樣子:
privatestaticclassMyHandlerextendsHandler{privateWeakReference activityWeakReference;publicMyHandler(MainActivity activity){? ? ? ? ? ? activityWeakReference =newWeakReference(activity);? ? ? ? }@OverridepublicvoidhandleMessage(Message msg){? ? ? ? ? ? MainActivity activity = activityWeakReference.get();if(activity !=null) {? ? ? ? ? ? }? ? ? ? }? ? }
至于原因我就不再重復(fù)了,網(wǎng)上有太多的文章有講過?,F(xiàn)在如果我只希望輸入一個‘psh’就自動出現(xiàn)上面這段代碼的話,我應(yīng)該這么做:
配置方法
File|Settings打開設(shè)置
選擇Editor|Code Style|Live Templates
點擊最右側(cè)的加號并選擇Template Group
在彈出的對話框中輸入一個活動模板分組的名稱,如custom
在左側(cè)選中上一步中創(chuàng)建的custom分組,點擊右邊的加號
選擇Live Template,在Abbreviation中對輸入psh
在Description中輸入這個活動模板的描述
在Template text中輸入以下代碼

點擊下方的Define按鈕,選中java表示這個模板用于java代碼
點擊右側(cè)的Edit variables
選擇Expression下拉框中的className并勾選Skip if…
這個操作的作用是,AS會自動將我們在上一步中用’$’符包裹的className自動替換為當(dāng)前類不含包名的類名
點擊Apply和Ok讓設(shè)置生效。
至此,一個我們自定義的custom模板組中的psh活動模板就定義完成了。下面我們來驗證一下,見證奇跡的時候到了:

由于互聯(lián)網(wǎng)數(shù)據(jù)的分享性,如果本文部分內(nèi)容來源于您的原創(chuàng)文章,且我沒有注明(我相信本文中沒有),請微博私信說明。
歡迎轉(zhuǎn)載,但最好請注明文章原始出處。
身為一名老司機(jī),沒有福利不太合適。
如果你正在辦公室,不建議你閱讀以下內(nèi)容。