Android Studio有什麼奇技淫巧?

如題


302個贊了,謝謝。

閑來無事,更新一波:

1. Layout Inspector,看布局信息的:

2. 移出多餘資源文件,之前在視頻里也講過,就是用Inspect Code裡面的 Android Lint 去找 unused resources,但是那個方法不能自動移出子工程的資源和無用的id等。下面這個方法更簡單,而且可以用於子工程:

在任意目錄下右鍵 - Refactor - Remove Unused Resources....就好

下面是之前的回答

===================================================================已經有了29個支持了,我深受鼓舞啊,於是做了個系列視頻,一共分三部,就叫《Android Studio使用技巧大全》

視頻封面Android Studio 技巧大全視頻

歡迎批評指正,也歡迎打賞!

下面是之前的回答

===================================================================

1. 在布局文件中抽取 style :游標位於目標控制項中 - 右鍵 - Refactor - Extract - Style

然後給抽取的style命名就好了(放心,它默認不抽取id):

2. 分多個窗口:

3. 列編輯 - Edit - Column Selection Mode,最好設置成快捷鍵。

如果你只用它來選擇文本就太小用它了,用於編輯的時候更強大:對很多格式相同但每個具體的元素長度不同的行,可以用列編輯把游標指向許多行最開始的一列,然後用alt或駝峰跳躍(或+shift)到目標元素那一列,這時候每一行選擇的列數都可以是不一樣的,很多時候這樣編輯起來更方便。

4. Annotate 標註每一行是git哪個用戶那個版本什麼時候提交的:

對著行號右邊空白處右鍵 - Annotate

然後就可以顯示出來了:

滑鼠放上去能顯示這個commit的相關信息:

點擊其中一個條目可以顯示那個commit的提交信息:

點擊Show Diff可以顯示選中的文件在那一次commit的修改,這一點很實用。

5. 左下方的Version Control集成了版本控制(支持Git、svn...):

6. 集成了終端Terminal:

7. 集成了代碼分析(包含Lint)

如果想光跑Android Lint可以點擊Inspection profile右邊的三個點...,把除了Android Lint之外的其他分析選項去掉,專門製作成一個profile:

PS: Android Lint 是官方的Android代碼分析工具,可以分析出各種冗餘資源、不規範的翻譯、格式錯誤等等,優化項目必備良藥。

8. 集成bug追蹤系統

可以支持各種bug管理系統:Trac, Redmine等等,配置一下伺服器地址用戶名密碼什麼的就可以了,當然所配置的系統也要安裝相應的插件,嗯,沒有bugfree,因為bugfree挫爆了。

然後(理論上)就可以愉快地在Android Studio上關bug了,媽媽再也不用擔心我多開一個Chrome會浪費多少內存。(這個功能我還沒試過,因為公司用bugfree...)

9. 修改方法簽名

右鍵方法聲明的地方

選擇Change Signature

這裡可以修改簽名的各種屬性,點那個+號可以添加參數,設置它的類型、名稱、默認值,點擊向上和向下箭頭可以調整參數的順序,最後點擊下面的Refactor確定修改,修改可以作用於所有調用這個方法的地方,這樣就不用一個一個手動修改了:)

10. 自動實現Parcelable介面

可以利用插件實現,下載這個插件:

然後右鍵代碼空白處,選擇Generate:

選擇Parcelable:

搞定。

還可以下載生成拷貝構造函數的plugin:GenerateCopyConstructor

當然默認的已經可以Generate各種方法了:構造方法、GetterSetter...

歡迎下載我的Android Studio自定義的編輯器顏色配置

預覽:

https://pan.baidu.com/s/1mi7TQFQ

20171129 更新:

  • 加入對Android 3.0的支持,加入參數提示的顏色配置和各種細節字體顏色。

20170705 更新:

  • 在 Tomorrow Night 的基礎上的修改,命名為 Tomorrow Twilight。
  • 改走了性冷淡風(體現了作者隱忍的特質)。
  • 思路還是用多個顏色標註不同性質的變數(體現了作者悶騷的性格)。
  • 基於 Language Defaults,而不是只改了 Java,Java 裡面能用到 Language Defaults 的都用了,專屬的語言特徵欄位也專門配色做了區分。
  • Android Logcat 和 IDE 集成的命令行界面等等也對應做了修改。

導入方式:

File - Import Settings - 選擇 android_studio_settings_editor_color.jar - 勾選 Editor Colors,Mac用戶可以嘗試勾選 Keymap - OK

設置方式(Mac):

Preferences... - Editor - Colors Fonts - 右面版的Scheme - Tomorrow Twilight - OK

為了體現本次更新的重大意義,特意加入如下「B格爆滿的說明」:

以上。


  • android studio的插件特別多,快捷鍵也很出色,學會快捷鍵搭配合適的插件開發效率真是上了一個檔次,android studio的社區也會越來越龐大,越來越多的人加入到這個AS大家庭中,相信以後功能會越來越強大。
  • 1.H.A.X.M和GenyMotion這兩個網上介紹的比較多,就不說了

  • 2.ButterKnifeZelezny

ButterKnife視圖注入插件,如果你的Activity布局裡面有很多組件,寫一堆的findViewById豈不是很煩人,ButterKnife解決了這個煩人的問題,這個插件的效果圖如下:

  • 3.android-drawable-importer

它可以減少導入縮放圖像到Android項目所需的工作量,Android Drawable Importer添加了一個在不同解析度導入畫板或縮放指定圖像到定義解析度的選項,該插件包含三個主要功能,可以在New下的Android module的任意地方通過右鍵訪問它們:

1、引入AndroidIcons Drawable 選擇資源,指定顏色,改變目標資源名字以及選中所有你想引入的資源。然後會自動創建所有缺失的文件夾,如果已經存在相同名字的drawable,則會進行警告。

2、Scaled Drawable 選擇資源並指定解析度。如果你想縮放引入的圖片,你應該選擇「其他」選項,然後填充目標解析度和目標寬度/高度。

3、Multisource-Drawable 引入不同資源的Drawable,設計者根據如下結構設計不同資源的Drawable zip文件,引入一個zip文件即可引入不同解析度的Drawable。如圖所示:

  • 4.adb-idea 支持直接在AS面板中進行ADB操作,快捷鍵:

* Mac OSX: Ctrl+Shift+A

* Windows/Linux: Ctrl+Alt+Shift+A

  • 5.SelectorChapek

按照命名規範自動生成Selector,如圖所示:

如何使用:

  • 在資源文件夾下右擊,比如』drawable_xhdpi』下:
  • 選擇Generate Android Selectors
  • 所有的selector自動出現在drawable文件夾下
  • 6.GsonFormat

根據Gson api介面生成相應的實體類

  • 7.ParcelableGenerator

Android中的序列化有兩種方式,分別是實現Serializable介面和Parcelable介面,但在Android中是推薦使用Parcelable,只不過我們這種方式要比Serializable方式要繁瑣,這個插件幫助我們解決繁瑣的事情。

  • 8.android-material-design-icon-generator

9.idea-markdown

  • 10.Android Holo Colors Generator

  • 11.Codota

搜索代碼的插件,他的搜索源,不僅只有Github,而且還有知名博客和開發者網站,讓你搜索一個東西,不用在找上半天;

除了搜索功能,首頁的下方還羅列比較流行的類庫,還提供保存代碼的CodeBox,同時還提供了Chrome 插件和Android Studio 插件,最後通過Google,Github,Facebook 任意一個授權登錄即可使用;

而且當你點擊搜索的結果(Java class)的時候,右側會顯示UML 視圖,而且左邊的代碼如果點擊會有高亮現實,而且還會顯示Doc,並提供了API Doc 的鏈接

  • 12.ideaVim 有了它之後就可以在Idea里指尖如飛了

  • 13.LeakCanary

Square最近剛開源的一個非常有用的工具,強烈推薦,幫助你在開發階段方便的檢測出內存泄露的問題,使用起來更簡單方便

  • 14.checkStyle 和 findBugs都還不錯

插件安裝方法:

  1. in Android Studio: go to Preferences → Plugins → Browse repositories,搜索你要安裝的插件

  2. download it and install via Preferences → Plugins → Install plugin from disk


先說一個插件,ideavim。上電腦再補充。

=======補充========

大概說一下吧,如果你喜歡VIM或者你從未聽說過它(那麼恭喜你有個叫VIM的編輯神器),你應該試一下。IDEA(Android Studio亦可)下的一個vim 插件——"ideavim",使用它,你可以實現敲代碼不用滑鼠,效率大大提高,從此幸福感倍增uP!

這個插件目前在idea下的下載量"764,846",評分接近5分。

安裝好後,建議根據vim的快捷鍵與idea原生的快捷鍵做一下調整,如果兩者有衝突,建議保留vim的。還有一點我目前還不清楚為什麼JetBrains為什麼要把很多實用的快捷鍵設置的那麼長。自從使用了ideavim這個插件,我就把官方默認的快捷鍵給廢了。根據使用的頻繁程度將使用度最高的快捷鍵設置為最短的按鍵組合及最容易按到的按鍵上。如下圖:

上面的按鍵組合是我在近1年的開發中根據使用的頻繁度隨時組合調整的,自認為還是比較好用的。有興趣的可以到這裡下載:ghuiii/myStudioConfig · GitHub

除此之外,idea下還有一個插件——Terminal,這個插件在idea與studio下是默認安裝好的,好像在之前版本的idea與studio下並沒有自帶,可能也是因為的確很好用的緣故吧,現在已內置。而且你在開啟它的時候它會默認定位到你工程的當前目錄下,你就可以很方便的做各種git或其它命令行操作了,效率也是大大的uP!

最後再補充一點:vim這麼好用,那能不能用在其它地方呢?答案是肯定的,IDEA 下有ideavim, Eclipse 下有Vrapper,Xcode下有xvim。chrome下有Vimium……

以上都是我在1年的idea與studio的使用過程中積累下來的小skill吧,希望能對大家的coding帶來一些便利!

@趙縉翔 如何配置快捷鍵衝突?

idea已經告訴你了求贊哦~


謝邀

Intellij IDEA 14用戶,從Intellij IDEA 11開始拋棄Eclipse轉投到Intellij IDEA陣營.

Android Studio 就是Google在Intellij IDEA的Community Edition做的

這裡拋去Google夾帶的私貨不談,就說說Intellij IDEA本身的一些東西

0、Intellij IDEA的Code Completion,非常強大。用習慣了可以比用Eclipse效率高不少,寫同樣的代碼可以少敲很多次鍵盤。。。特性介紹見官網: IntelliJ IDEA :: Smart customizable coding assistance with syntax highlighting, intelligent code completion and code folding

1、Intellij IDEA的Code Inspections,也很強大。Intellij IDEA內置了靜態代碼分析工具,不僅可以提示可能會引起編譯錯誤和運行時異常的代碼,也會對各種代碼細節進行檢查。從代碼命名沒使用駝峰,方法注釋與方法參數匹配,到可以簡化為foreach的for循環,一直為true或一直為false的if條件,再到HashMap&可替換為SparseIntArray,不需要線程安全時可以用非線程安全的結構來提高效率之類的都有提示。你可以設置是否做某項檢查以及提示錯誤的等級,你還可以定義自己的檢查規則,如果你有精力把所有檢查項目過一遍並按照項目需求添加自定義的檢查要求,然後將Inspections的配置導出,這就是你們team的可執行代碼規範了。並且這份代碼規範是可以自動檢查,並且很多時候只要按一下快捷鍵就能自動修正的可執行的代碼規範,不只是嘴上說說~

2、在Jetbrains上註冊賬號,使用IntelliJ Configuration Server Plugin 插件,可以將所有設置上傳到Server,以供實現多台設備的配置同步。其他特性/功能均可在 IntelliJ IDEA :: Features 查看

Eclipse遷移到Intellij IDEA的官方FAQ: FAQ on Migrating to IntelliJ IDEA


瀉藥,最近準備整理一些Android Studio的Tips,這裡第一篇博客 Android Studio Tips -- 布局預覽

後續會更新。


debug的時候不用重新啟動,其實eclipse也有這個功能,我剛轉AS沒多久,發現AS其實也可以。

在菜單欄找到以下這個按鈕

,點擊選取自己APP的進程就可以了,debug非常方便,不用重新啟動程序。


我覺得熟練掌握各種快捷鍵,效率會提高几倍

編輯

按鍵 說明
Ctrl(Command)+C 複製當前行或選中的內容
Ctrl(Command)+D 粘貼當前行或選中的內容
Ctrl(Command)+X 剪切當前行或選中的內容
Ctrl(Command)+Y 刪除行
Ctrl(Command)+Z 倒退
Ctrl(Command)+Shift+Z 向前
Alt(Option)+Enter 自動修正
Ctrl(Command)+Alt(Option)+L 格式化代碼
Ctrl(Command)+Alt(Option)+I 將選中的代碼進行自動縮進編排
Ctrl(Command)+Alt(Option)+O 優化導入的類和包
Alt(Option)+Insert 得到一些Intention Action,可以生成構造器、Getter、Setter、將 == 改為equals() 等
Ctrl(Command)+Shift+V 選最近使用的剪貼板內容並插入
Ctrl(Command)+Alt(Option)+Shift+V 簡單粘貼
Ctrl(Command)+Shift+Insert 選最近使用的剪貼板內容並插入(同Ctrl(Command)+Shift+V)
Ctrl(Command)+Enter 在當前行的上面插入新行,並移動游標到新行(此功能游標在行首時有效)
Shift+Enter 在當前行的下面插入新行,並移動游標到新行
Ctrl(Command)+J 自動代碼
Ctrl(Command)+Alt(Option)+T 把選中的代碼放在 try{} 、if{} 、 else{} 里
Shift+Alt(Option)+Insert 豎編輯模式
Ctrl(Command)+ / 注釋 //
Ctrl(Command)+Shift+ / 注釋 /…/
Ctrl(Command)+Shift+J 合併成一行
F2/Shift+F2 跳轉到下/上一個錯誤語句處
Ctrl(Command)+Shift+Back 跳轉到上次編輯的地方
Ctrl(Command)+Alt(Option)+Space 類名自動完成
Shift+Alt(Option)+Up/Down 內容向上/下移動
Ctrl(Command)+Shift+Up/Down 語句向上/下移動
Ctrl(Command)+Shift+U 大小寫切換
Tab 代碼標籤輸入完成後,按 Tab,生成代碼
Ctrl(Command)+Backspace 按單詞刪除
Ctrl(Command)+Shift+Enter 語句完成
Ctrl(Command)+Alt(Option)+J 用動態模板環繞
文件

按鍵 說明
Ctrl(Command)+F12 顯示當前文件的結構
Ctrl(Command)+H 顯示類繼承結構圖
Ctrl(Command)+Q 顯示注釋文檔
Ctrl(Command)+P 方法參數提示
Ctrl(Command)+U 打開當前類的父類或者實現的介面
Alt(Option)+Left/Right 切換代碼視圖
Ctrl(Command)+Alt(Option)+Left/Right 返回上次編輯的位置
Alt(Option)+Up/Down 在方法間快速移動定位
Ctrl(Command)+B 快速打開游標處的類或方法
Ctrl(Command)+W 選中代碼,連續按會有其他效果
Ctrl(Command)+Shift+W 取消選擇游標所在詞
Ctrl(Command)+ - / + 摺疊/展開代碼
Ctrl(Command)+Shift+ - / + 摺疊/展開全部代碼
Ctrl(Command)+Shift+. 摺疊/展開當前花括弧中的代碼
Ctrl(Command)+ ] / [ 跳轉到代碼塊結束/開始處
F2 或 Shift+F2 高亮錯誤或警告快速定位
Ctrl(Command)+Shift+C 複製路徑
Ctrl(Command)+Alt(Option)+Shift+C 複製引用,必須選擇類名
Alt(Option)+Up/Down 在方法間快速移動定位
Shift+F1 要打開編輯器游標字元處使用的類或者方法 Java 文檔的瀏覽器
Ctrl(Command)+G 定位行
查找

按鍵 說明
Ctrl(Command)+F 在當前窗口查找文本
Ctrl(Command)+Shift+F 在指定環境下查找文本
F3 向下查找關鍵字出現位置
Shift+F3 向上一個關鍵字出現位置
Ctrl(Command)+R 在當前窗口替換文本
Ctrl(Command)+Shift+R 在指定窗口替換文本
Ctrl(Command)+N 查找類
Ctrl(Command)+Shift+N 查找文件
Ctrl(Command)+Shift+Alt(Option)+N 查找項目中的方法或變數
Ctrl(Command)+B 查找變數的來源
Ctrl(Command)+Alt(Option)+B 快速打開游標處的類或方法
Ctrl(Command)+Shift+B 跳轉到類或方法實現處
Ctrl(Command)+E 最近打開的文件
Alt(Option)+F3 快速查找,效果和Ctrl(Command)+F相同
F4 跳轉至定義變數的位置
Alt(Option)+F7 查詢當前元素在工程中的引用
Ctrl(Command)+F7 查詢當前元素在當前文件中的引用,然後按 F3 可以選擇
Ctrl(Command)+Alt(Option)+F7 選中查詢當前元素在工程中的引用
Ctrl(Command)+Shift+F7 高亮顯示匹配的字元,按 Esc 高亮消失
Ctrl(Command)+Alt(Option)+F7 查找某個方法的所有調用地方
Ctrl(Command)+Shift+Alt(Option)+N 查找類中的方法或變數
Ctrl(Command)+Shift+O 彈出顯示查找內容
Ctrl(Command)+Alt(Option)+Up/Down 快速跳轉搜索結果
Ctrl(Command)+Shift+S 高級搜索、搜索結構
重構

按鍵 說明
F5 複製
F6 移動
Alt(Option)+Delete 安全刪除
Ctrl(Command)+U 轉到父類
Ctrl(Command)+O 重寫父類的方法
Ctrl(Command)+I 實現方法
Ctrl(Command)+Alt(Option)+N 內聯
Ctrl(Command)+Alt(Option)+Shift+T 彈出重構菜單
Shift+F6 重構-重命名
Ctrl(Command)+Alt(Option)+M 提取代碼組成方法
Ctrl(Command)+Alt(Option)+C 將變數更改為常量
Ctrl(Command)+Alt(Option)+V 定義變數引用當前對象或者方法的返回值
Ctrl(Command)+Alt(Option)+F 將局部變數更改為類的成員變數
Ctrl(Command)+Alt(Option)+P 將變數更改為方法的參數
調試

按鍵 說明
F8 跳到下一步
Shift+F8 跳出函數、跳到下一個斷點
Alt(Option)+Shift+F8 強制跳出函數
F7 進入代碼
Shift+F7 智能進入代碼
Alt(Option)+Shift+F7 強制進入代碼
Alt(Option)+F9 運行至游標處
Ctrl(Command)+Alt(Option)+F9 強制運行至游標處
Ctrl(Command)+F2 停止運行
Alt(Option)+F8 計算變數值
VCS

|按鍵|說明|
|Alt(Option)+ ~|
|VCS 操作菜單|
|Ctrl(Command)+K|提交更改|
|Ctrl(Command)+T|更新項目|
|Ctrl(Command)+Alt(Option)+Shift+D|顯示變化|


Intellij IDEA的快捷鍵


分享一個大家沒說的,

Winodw 下 Ctrl + F11,Bookmark,標記代碼段落用起來很爽的。

比如這裡,我們不管在那個地方 ctrl+ "記錄點" 就直接可以跳到標記點這裡。這裡已經有一個4標籤哦了。

同時shift +F11 .可以查看全部標籤

··························································

大家完全可以按照 1.2.3.4.5...來記錄方法或者變數點。

再也不擔心到處翻代碼了。頭緒亂了。額,這真的是我無意中發現了這個功能,。。。


任何技巧,可以通過Help→Tips of the Day。查看。

如果你的英文不好,就看這個

Adnroid Studio使用技巧


自帶命令窗口,用 adb方便多了


我怎麼就記得android studio 打開時有快捷鍵教程窗口呢,每次打開時,我都會習慣性地看看這些快捷鍵的使用教程。。雖然現在用的不多。。。。。


不知道大家有沒有這樣的煩惱,就是原來AS默認的選中一個單詞,然後高亮所有單詞的顏色太淡了,在代碼比較多的時候比較難找出來,特別是在右邊那條線上的標識更是難以發現,這裡我把這個屬性找出來了

  • 在這裡 Identifier under caret 代表的是 游標所在的標識符,也就是我們當前選中的單詞,然後右邊三個顏色,Foreground和Background是設置字的顏色,Error stripe mark是當前的選中在右邊線上的標識顏色

  • Identifier under caret(write)代表的是 這個標識符在代碼裡面被寫入的地方,也可以理解為這個標識符被修改的地方,然後顏色設置的話同上

GitHub - SJX516/AndroidStudio-JavaCodeColor: 基於 SublimeMonokai 的Android Studio 自定義配色方案


貌似Android Studio只需要記住一個快捷鍵組合,那就是Ctrl + shift+A


開發者必須知道的Android Studio快捷鍵(Windows版本)


Android layout id converter這個插件可以通過布局生成findViewById。。


有沒有類似於Eclipse中的Ctrl+H的快捷鍵啊。。。


焦點定位到在左側列表區展開想要搜索的列表,如,直接鍵盤輸入item,然後所有的含有item的文件都會看到....


能好好跑起來就算。


從intellij 到studio 再回首Eclipse感覺真是卡爆了尤其是打包的時候


竟然裝不起來


推薦閱讀:

關於intellij下部署tomcat項目的問題?
你認為IntelliJ IDEA是最智能的IDE嗎?
Intellij IDEA用Swing開發,而eclipse是用IBM優化過的SWT/JFace開發,為什麼性能差這麼多?
Vim 是否能提高編碼效率?

TAG:Java | Android | IntelliJIDEA | AndroidStudio |