第一步
新建一個project,或者如果你已經(jīng)有project的話戴陡,那就直接新建一個module.注意選擇Java library,然后下一步
第二步
編寫MyClass.java
第三步
在MyClass.java文件右擊,選擇run MyClass.main().
若報錯此類
Error:Gradle: A problem was found with the configuration of task ':javaproject:startScripts'. > No value has been specified for property 'mainClassName'.
在剛剛建立的Java library的build.gradle中加入'mainClassName'
如圖所示
![Uploading Paste_Image_861732.png . . .]
寫在前面
本文翻譯自 Android Studio Tips by Philippe Breault拆挥,一共收集了62個 Android Studio 使用小技巧和快捷鍵甲馋。 根據(jù)這些小技巧的使用場景脯厨,本文將這62個小技巧分為常用技巧(1 – 28)驱负、編碼技巧(29 – 49)和調(diào)試技巧(50 – 62),分成三個部分片橡。
每個小技巧都配有 gif 動圖妈经,由于原圖在 google photo 上,加載較慢,本文全部轉(zhuǎn)存到七牛上了吹泡。
由于能力有限骤星,翻譯過程中難免有所疏漏,如發(fā)現(xiàn)錯誤或問題爆哑,請在評論中提出洞难,謝謝。
常用技巧
- 書簽(Bookmarks)
描述:這是一個很有用的功能揭朝,讓你可以在某處做個標記(書簽)队贱,方便后面再跳轉(zhuǎn)到此處。
調(diào)用:Menu → Navigate → Bookmarks
快捷鍵:添加/移除書簽:F3(OS X) 潭袱、F11(Windows/Linux);
添加/移除書簽(帶標記):Alt + F3(OS X)柱嫌、Ctrl + F11(Windows/Linux);
顯示全部書簽:Cmd + F3(OS X) 、Shift + F11(Windows/Linux)屯换,顯示所有的書簽列表编丘,并且是可以搜索的。
上一個/下一個書簽:無趟径,可以在設(shè)置中設(shè)置快捷鍵瘪吏。
更多:當你為某個書簽指定了標記,你可以使用快捷鍵 Ctrl + 標記 來快速跳轉(zhuǎn)到標記處蜗巧,比如輸入Ctrl + 1,跳到標記為1的書簽處蕾盯。
- 折疊/展開代碼塊(Collapse Expand Code Block)
描述:該操作提供一種方法幕屹,讓你隱藏你不關(guān)心的部分代碼,以一種較為簡潔的格式顯示關(guān)鍵代碼级遭。一個有意思的用法是隱藏匿名內(nèi)部類的代碼望拖,讓其看起來像一個Lambda表達式。
快捷鍵:Cmd + “+”/”-“(OS X)挫鸽、Ctrl + Shift + “+”/”-“(Windows/Linux);
更多:可以在Settig → Editor → General → Code Folding 中設(shè)置折疊規(guī)則说敏。
- 與分支比對(Compare With Branch (Git))
描述:假如你的項目是使用git來管理的,你可以將當前文件或者文件夾與其他的分支進行比對丢郊。比較有用的是可以讓你了解到你與主分支有多少差別盔沫。
調(diào)用:Menu → VCS → Git → Compare With Branch
- 與剪切板比對(Compare With Clipboard)
描述:將當前選中的部分與剪切板上的內(nèi)容進行比對。
調(diào)用:右鍵選中的部分枫匾,在右鍵菜單中選擇“Compare With Clipboard”架诞。
- 上下文信息(Context Info)
描述:當前作用域定義超過滾動區(qū)域,執(zhí)行該操作將顯示所在的上下文信息干茉,通常它顯示的是類名或者內(nèi)部類類名或者當前所在的方法名谴忧。該操作在xml文件中同樣適用。
調(diào)用:Menu → View → Context Info
快捷鍵:Alt + Q (Windows/Linux)
更多:個人認為,這個功能更好的用法是快速查看當前類繼承的父類或者實現(xiàn)的接口沾谓。
- 查找操作(Find Action)
描述:輸入某個操作的名稱委造,快速查找,對于沒有快捷鍵的部分操作這是一個很有用的技巧均驶。
快捷鍵:Cmd +Shift + A(OS X)昏兆、Ctrl + Shift + A(Windows/Linux);
更多:當某個操作是有快捷鍵的辣恋,會顯示在旁邊亮垫。
- 查找補全(Find Complection)
描述:當你在一個文件中進行查找時,使用自動補全快捷鍵可以給出在當前文件中出現(xiàn)的建議單詞伟骨;
快捷鍵:Cmd + F(OS X),Ctrl + F(Windows/Linux),輸入一些字符饮潦,然后使用自動補全;
- 隱藏所有面板(Hide All Panels)
描述:切換編輯器鋪滿整個程序界面携狭,隱藏其他的面板继蜡。再次執(zhí)行該操作,將會回到隱藏前的狀態(tài)逛腿。
調(diào)用:Menu → Window → Active Tool Window → Hide All Windows稀并;
快捷鍵:Cmd +Shift + F12(OS X)、Ctrl + Shift + F12(Windows/Linux)单默;
- 高亮一切(Hightlight All the Things)
描述:該操作將會高亮某個字符在當前文件中所有出現(xiàn)的地方碘举。這不僅僅是簡單的匹配,實際上它會分析當前的作用域搁廓,只高亮相關(guān)的部分引颈。
調(diào)用:Menu → Edit → Find → Highlight Usages in File;
定位到上一處/下一處:Menu → Edit → Find → Find Next/Previous境蜕;
快捷鍵:相關(guān)快捷鍵請在菜單中查看蝙场;
更多:如果高亮一個方法的return
或throw
語句,將會高亮這個方法的所有出口/結(jié)束點粱年;
如果高亮某個類定義處的extend
或implements
語句售滤,將會高亮繼承的或?qū)崿F(xiàn)的方法;
高亮一個import
語句也會高亮使用到的地方台诗;
按下Esc可以退出高亮模式完箩;
- 回到上一個工具窗口(Jump to Last Tool Window)
描述:有時候你會從某個工具窗口跳到編輯器里面,然后又需要重新回到剛才操作的那個工具窗拉庶,比如你查找使用情況的時嗜憔,使用該操作可以在不使用鼠標的情況下跳轉(zhuǎn)到之前的工具窗口。
快捷鍵:F12氏仗;
- 上一個編輯位置(Last Edit Location)
描述:該操作將使得你導(dǎo)航到上一處你改動過的地方吉捶,這與點擊工具欄上的返回箭頭回到上一個定位位置是不一樣的夺鲜,該操作將會返回到上一個編輯的位置。
快捷鍵: Cmd + Shift + Delete(OS X)呐舔、Ctrl + Shift + Backspace(Windows/Linux);
- 在方法和內(nèi)部類之間跳轉(zhuǎn)(Move Between Methods and Inner Classes)
描述:該操作讓光標在當前文件的方法或內(nèi)部類的名字間跳轉(zhuǎn)币励。
調(diào)用:Navigate → Next Method/Previous Method;
快捷鍵:Ctrl + Up/Down(OS X)、Alt + Up/Down(Windows/Linux);
- 定位到嵌套文件(Navigate to Nested File)
描述:有時你有一堆存放在不同目錄下的同名文件珊拼,例如不同模塊下的AndroidManifest.xml
文件食呻,當你想定位到其中的一個文件,你會得到一堆搜索結(jié)果澎现,你還得辨認哪個才是你需要的仅胞。通過在檢索框中輸入部分路徑的前綴,并添加斜杠號剑辫,你就可以在第一次嘗試的時候就找到正確的那個干旧。
快捷鍵:Shift + Cmd + O(OS X)、Shift + Ctrl + N(Windows/Linux);
- 定位到父類(Navigate to parent)
描述:如果光標是在一個繼承父類重寫的方法里妹蔽,這個操作將定位到父類實現(xiàn)的地方椎眯。如果光標是在類名上,則定位到父類類名胳岂。
Menu → Navigate → Super Class/Method
快捷鍵:Cmd + U(OS X)编整、Ctrl + U(Windows/Linux);
- 根據(jù)編號打開面板(Open a Panel by Its Number)
描述:你可能已經(jīng)注意到某些面板的名稱左邊有一個數(shù)字,這里有個快捷操作可以打開它們乳丰。如果你沒看到面板的名稱掌测,請點擊IDE的左下角的切換按鈕。
快捷鍵:Cmd + 數(shù)字(OS X)产园、Alt + 數(shù)字(Windows/Linux);
- 在外部打開文件(Open File Externally)
描述:通過這個快捷鍵赏半,簡單地點擊Tab,就可以打開當前文件所在的位置或者該文件的任意上層路徑淆两。
快捷鍵:Cmd + 單擊Tab(OS X)、Ctrl + 點擊Tab(Windows/Linux);
- 參數(shù)信息(Parameter Info)
描述:這個操作將顯示和你在方法聲明處寫一樣的參數(shù)列表拂酣,當你想看某個存在的方法的參數(shù)秋冰,這是一個很有用的操作。光標下的參數(shù)顯示為黃色婶熬,如果沒有參數(shù)顯示黃色剑勾,意味著你的方法調(diào)用是無效的,很可能是某個參數(shù)分配不對赵颅。(例如一個浮點數(shù)賦值給了整型參數(shù))虽另。如果你正在寫一個方法調(diào)用,突然離開編輯的地方饺谬,再返回的時候捂刺,輸入一個逗號,就可以重新觸發(fā)參數(shù)信息。
快捷鍵:Cmd + P(OS X)族展、Ctrl + U(Windows/Linux);
- 快速查看定義(Quick Definition Lookup)
描述:你曾經(jīng)是否想查看一個方法或者類的具體實現(xiàn)森缠,但是不想離開當前界面? 該操作可以幫你搞定仪缸。
快捷鍵:Alt + Space / Cmd + Y(OS X)贵涵、Ctrl + Shift + I(Windows/Linux)
- 最近修改的文件(Recently Changed Files)
描述:該操作類似于“最近訪問(Recents)”彈窗,會顯示最近本地修改過的文件列表恰画,根據(jù)修改時間排列宾茂。可以輸入字符來過濾列表結(jié)果拴还。
快捷鍵:Cmd + Shift + E(OS X)跨晴、Ctrl + Shift + E(Windows/Linux)
- 最近訪問(Recents)
描述:該操作可以得到一個最近訪問文件的可搜索的列表。
快捷鍵:Cmd + E(OS X)自沧、Ctrl + E(Windows/Linux)
- 相關(guān)文件(Related File)
描述:該操作有助于在布局文件和Activity/Fragment之間輕松跳轉(zhuǎn)坟奥。這也是一個快捷操作,在類名/布局頂端的左側(cè)拇厢。
快捷鍵:Ctrl + Cmd + Up(OS X)爱谁、Ctrl + Alt + Home(Windows/Linux)
- 返回到編輯器(Return to the Editor)
描述:一大堆快捷鍵操作會把你從編輯器帶走(type hierarchy, find usages, 等等)。如果你想返回到編輯器孝偎,你有兩個選項:Esc:該操作僅僅把光標移回編輯器访敌。
Shift + Esc:該操作會關(guān)閉當前面板,然后把光標移回到編輯器衣盾。
快捷鍵:返回但保留打開的面板:Esc
關(guān)閉面板并返回:Shift + Esc
- Select In
描述:拿著當前文件然后問你在哪里選中該文件寺旺。恕我直言,最有用的就是在項目結(jié)構(gòu)或者資源管理器中打開該文件势决。每一個操作都有數(shù)字或者字母作為前綴阻塑,可以通過這個前綴來快速跳轉(zhuǎn)。通常果复,我會 Alt + F1 然后 回車(Enter) 來打開項目視圖陈莽,然后 再用 Alt + F1 在OS X的Finder里找到文件。你可以在文件中或者直接在項目視圖里使用該操作虽抄。
快捷鍵:Alt + F1走搁;
- 擴大/縮小選擇(Extend/Shrink Selection)
描述:該操作會在上下文逐漸擴大/縮小當前選擇范圍。例如迈窟,它會先選中當前變量私植,再選中當前語句,然后選中整個方法车酣,縮小選擇則相反曲稼。
快捷鍵:Alt + 上/下 (OS X)索绪、Ctrl+W / Ctrl + Shift + W(Windows、Linux)
- Sublime Text式的多處選擇(Sublime Text Multi Selection)
描述:這個功能超級贊躯肌!該操作會識別當前選中字符串者春,選擇下一個同樣的字符串,并且添加一個光標清女。這意味著你可以在同一個文件里擁有多個光標钱烟,你可以同時在所有光標處輸入任何東西。
快捷鍵:Ctrl + G(OS X)嫡丙、Alt + J(Windows拴袭、Linux)
- 文件結(jié)構(gòu)彈窗(The File Structure Popup)
描述:該操作可以展示當前類的大綱,并且可以快速跳轉(zhuǎn)曙博。你還可以通過鍵盤輸入來過濾結(jié)果拥刻。這是一種很高效的方法來跳轉(zhuǎn)到指定方法。
更多:你在輸入字符的時候可以用駝峰風格來過濾選項父泳。比如輸入”oCr”會找到”onCreate”
你可以通過勾選多選框來決定是否顯示匿名類般哼。這在某些情況下很有用,比如你想直接跳轉(zhuǎn)到一個OnClickListener的onClick方法惠窄。
快捷鍵:Cmd + F12(OS X)蒸眠、Ctrl + F12(Windows/Linux)
調(diào)用:Menu → Navigate → File Structure
- 切換器(The Switcher)
描述:該快捷鍵基本上就是IDE的alt+tab/cmd+tab命令。你可以用它在導(dǎo)航tab或者面板切換杆融。一旦打開這個窗口楞卡,只要一直按著ctrl鍵,你可以通過對應(yīng)的數(shù)字或者字母快捷鍵快速選擇脾歇。你也可以通過backspace鍵來關(guān)閉一個已選中的tab或者面板蒋腮。
快捷鍵:Ctrl + Tab
- 版本控制操作彈窗(VCS Operations Popup)
描述:該操作會給你顯示最常用的版本控制操作。如果你的項目沒有用git等版本控制軟件進行管理藕各,它至少會給你提供一個由IDE維護的本地歷史記錄池摧。
快捷鍵:Ctrl + V(OS X)、Alt + `(Windows/Linux)
編碼技巧
- 列選擇/塊選擇(Column Selection)
描述:正常選擇時激况,當你向下選擇時险绘,會直接將當前行到行尾都選中,而塊選擇模式下誉碴,則是根據(jù)鼠標選中的矩形區(qū)域來選擇。
調(diào)用:按住Alt瓣距,然后拖動鼠標選擇黔帕。
開啟/關(guān)閉塊選擇:Menu → Edit → Column Selection Mode
快捷鍵:切換塊選擇模式:Cmd + Shift + 8(OS X)、Shift + Alt + Insert(Windows/Linux);
- 語句補全(Complete Statement)
描述:這個方法將會生成缺失的代碼來補全語句蹈丸,常用的使用場景如下:在行末添加一個分號成黄,即使光標不在行末呐芥;
為if、while奋岁、for 語句生成圓括號和大括號思瘟;
方法聲明后,添加大括號闻伶;
調(diào)用:Menu → Edit → Compelete Current Statement
快捷鍵:Cmd + Shift + Enter(OS X)滨攻、Ctrl + Shift + Enter(Windows/Linux);
更多:如果一個語句已經(jīng)補全蓝翰,當你執(zhí)行該操作時光绕,則會直接跳到下一行,即使光標不在當前行的行末畜份。
- 刪除行(Delete Line)
描述:如果沒選中诞帐,則刪除光標所在行,如果選中爆雹,則會刪除選中所在的所有行停蕉。
快捷鍵:Cmd + Delete(OS X)、Ctrl + Y(Windows/Linux)
- 行復(fù)制(Duplicate Line)
描述:復(fù)制當前行钙态,并粘貼到下一行慧起,這個操作不會影響剪貼板的內(nèi)容。這個命令配合移動行快捷鍵非常有用驯绎。
快捷鍵:Cmd + D(OS X)完慧、Ctrl + D(Windows/Linux)
- 編寫正則表達式(Edit Regex)
描述:使用Java編寫正則表達式是一件很困難的事,主要原因是:你必須得避開反斜杠剩失;
說實話屈尼,正則很難;
看第二條拴孤。
IDE能幫我們干點啥呢脾歧?當然是一個舒服的界面來編寫和測試正則啦~ - 快捷鍵:Alt + Enter → check regexp
- 使用Enter和Tab進行代碼補全的差別(Enter vs Tab for Code Completion)
描述:代碼補全時,可以使用Enter或Tab來進行補全操作演熟,但是兩者是有差別的鞭执。
使用Enter時:從光標處插入補全的代碼,對原來的代碼不做任何操作芒粹。
使用Tab時:從光標處插入補全的代碼兄纺,并刪除后面的代碼,直到遇到點號化漆、圓括號估脆、分號或空格為止。
- 提取方法(Extract Method)
描述:提取一段代碼塊座云,生成一個新的方法疙赠。當你發(fā)現(xiàn)某個方法里面過于復(fù)雜付材,需要將某一段代碼提取成單獨的方法時,該技巧是很有用的圃阳。
調(diào)用:Menu → Refactor → Extract → Method
快捷鍵:Cmd + Alt + M(OS X)厌衔、Ctrl + Alt + M(Windows/Linux);
更多:在提取代碼的對話框捍岳,你可以更改方法的修飾符和參數(shù)的變量名富寿。
- 提取參數(shù)(Extract Parameter)
描述:這是一個提取參數(shù)的快捷操作。當你覺得可以通過提取參數(shù)來優(yōu)化某個方法的時候祟同,這個技巧將很有用作喘。該操作會將當前值作為一個方法的參數(shù),將舊的值放到方法調(diào)用的地方晕城,作為傳進來的參數(shù)泞坦。
調(diào)用:Menu → Refactor → Extract → Parameter
快捷鍵:Cmd + Alt + P(OS X)、Ctrl + Alt + P(Windows/Linux)砖顷;
更多:通過勾選“delegate”贰锁,可以保持舊的方法,重載生成一個新方法滤蝠。
- 提取變量(Extract Variable)
描述:這是一個提取變量的快捷操作豌熄。當你在沒有寫變量聲明的直接寫下值的時候,這是一個很方便生成變量聲明的操作物咳,同時還會給出一個建議的變量命名锣险。
調(diào)用:Menu → Refactor → Extract → Variable
快捷鍵:Cmd + Alt + V(OS X)、Ctrl + Alt + V(Windows/Linux)览闰;
更多:當你需要改變變量聲明的類型芯肤,例如使用 List 替代 ArrayList,可以按下Shift + Tab压鉴,就會顯示所有可用的變量類型崖咨。
- 內(nèi)置(Inline)
描述:當你開始對提取操作有點興奮的時候,突然覺得東西太多了油吭,怎么辦呢击蹲?這是一個和提取相反的操作。該操作對方法婉宰、字段歌豺、參數(shù)和變量均有效。
調(diào)用:Menu → Refactor → Inline
快捷鍵:Cmd + Alt + N(OS X)心包、Ctrl + Alt + N(Windows/Linux)世曾;
- 合并行和文本(Join Lines and Literals)
描述:這個操作比起在行末使勁按刪除鍵爽多了!該操作遵守格式化規(guī)則,同時:合并兩行注釋轮听,同時移除多余的//
;
合并多行字符串岭佳,移除+
和雙引號血巍;
合并字段的聲明和初始化賦值;
快捷鍵:Ctrl + Shift + J珊随;
- 動態(tài)模板(Live Templates)
描述:動態(tài)模板是一種快速插入代碼片段的方法述寡,使用動態(tài)模板比較有意思的是你可以使用合適的默認值將模板參數(shù)化,當你插入代碼片段時叶洞,這可以指導(dǎo)你完成參數(shù)鲫凶。
更多:如果你知道模板的縮寫,就可以不必使用快捷鍵衩辟,只需要鍵入縮寫并使用Tab鍵補全即可螟炫。
快捷鍵:Cmd + J(OS X)、Ctrl + J(Windows/Linux);
- 上下移動行(Move Lines Up Down)
描述:不需要復(fù)制粘貼就可以上下移動行了艺晴。
快捷鍵:Alt + Shift + Up/Down昼钻;
- 移動方法(Move Methods)
描述:這個操作和移動行操作很類似承桥,不過該操作是應(yīng)用于整個方法的色解,在不需要復(fù)制、粘貼的情況下叶摄,就可以將整個方法塊移動到另一個方法的前面或后面狈究。該操作的實際叫做“移動語句”碗淌,這意味著你可以移動任何類型的語句,你可以方便地調(diào)整字段或內(nèi)部類的順序抖锥。
快捷鍵:Cmd + Alt + Up/Down(OS X)亿眠、Ctrl + Shift + Up/Down(Windows/Linux);
- 取反補全(Negation Completion)
描述:有時你自動補全一個布爾值,然后回到該值的前面添加一個感嘆號來完成取反操作宁改,現(xiàn)在通過使用輸入!
代替enter
完成補全操作缕探,就可以跳過這些繁瑣的操作了。
快捷鍵:代碼補全的時候还蹲,按下!
即可(有時需要上下鍵選中候選項)爹耗;
- 后綴補全(Postfix Completion)
描述:你可以認為該操作是一種代碼補全,它會在點號之前生成代碼谜喊,而不是在點號之后潭兽。實際上你調(diào)用這個操作和正常的代碼補全操作一樣:在一個表達式之后輸入點號。
例如對一個列表進行遍歷斗遏,你可以輸入myList.for
山卦,然后按下Tab鍵,就會自動生成for
循環(huán)代碼诵次。
調(diào)用: 你可以在某個表達式后面輸入點號账蓉,出現(xiàn)一個候選列表枚碗,在常規(guī)的代碼補全提示就可以看到一系列后綴補全關(guān)鍵字,同樣的铸本,你也可以在Editor → Postfix Completion
中看到一系列后綴補全關(guān)鍵字肮雨。
常用的有后綴補全關(guān)鍵字有:
.for (補全foreach語句)
.format (使用String.format()
包裹一個字符串)
.cast (使用類型轉(zhuǎn)化包裹一個表達式)
- 重構(gòu)(Refactor This)
描述:該操作可以顯示所有對當前選中項可行的重構(gòu)方法。這個列表可以用數(shù)字序號快速選擇箱玷。
快捷鍵:Ctrl + T(OS X)怨规、Ctrl + Alt + Shift + T(Windows/Linux)
- 重命名(Rename)
描述:你可以通過該操作重命名變量、字段锡足、方法波丰、類、包舶得。當然了掰烟,該操作會確保重命名對上下文有意義,不會無腦替換掉所有文件中的名字扩灯;
快捷鍵:Shift + F6
更多:如果你忘記了這個快捷鍵媚赖,你可以使用快速修復(fù)(Quick Fix)的快捷鍵,它通常包含重命名選項珠插。
- 分號/點 補全(Semicolon Dot Completion)
描述:代碼補全這個功能太棒啦惧磺!我們大概都對以下這種情況很熟悉:開始輸入點什么東西,接著從IDE得到一些建議的選項捻撑,然后通過Enter或者Tab來選擇我們想要的補全代碼磨隘。其實還有另外一種方法來選擇補全的代碼:我們可以輸入一個點(.)或者一個分號(;)。這樣就會完成補全顾患,添加所選字符番捂。這在結(jié)束一條語句補全或者快速鏈式調(diào)用方法的時候特別有用。
注意點:如果你要代碼補全的方法需要參數(shù)江解,這些參數(shù)會被略過设预。
快捷鍵:Autocomplete + “.” 或者 “;”
- 包裹代碼(Surround With)
描述: 該操作可以用特定代碼結(jié)構(gòu)包裹住選中的代碼塊,通常是if語句犁河,循環(huán)鳖枕,try/catch語句或者runnable語句。 如果你沒有選中任何東西桨螺,該操作會包裹當前一整行宾符。
快捷鍵:Cmd + Alt + T(OS X)、Ctrl + Alt + T(Windows/Linux)
- 移除包裹代碼(Unwrap Remove)
描述:該操作會移除周圍的代碼灭翔,它可能是一條if語句魏烫,一個while循環(huán),一個try/catch語句甚至是一個runnable語句。該操作恰恰和包裹代碼(Surround With)相反哄褒。
快捷鍵:Cmd + Shift + Delete(OS X)稀蟋、Ctrl + Shift + Delete(Windows/Linux)
調(diào)試技巧
- 分析傳入數(shù)據(jù)流(Analyze data flow to here)
描述:這個操作將會根據(jù)當前選中的變量、參數(shù)或者字段呐赡,分析出其傳遞到此處的路徑糊治。 當你進入某段陌生的代碼,試圖明白某個參數(shù)是怎么傳遞到此處的時候罚舱,這是一個非常有用的操作。
調(diào)用:Menu → Analyze → Analyze Data Flow to Here
快捷鍵:無绎谦,可以在設(shè)置中指定管闷。
相反的操作:分析傳出數(shù)據(jù)流(Analyze data flow from here),這個將會分析當前選中的變量往下傳遞的路徑窃肠,直到結(jié)束包个。
- 堆棧追蹤分析(Analyze Stacktrace)
描述: 這個操作讀取一份堆棧追蹤信息,并且使它像logcat中那樣可以點擊冤留。當你從bug報告中或者終端復(fù)制了一份堆棧追蹤碧囊,使用該操作可以很方便地調(diào)試。
調(diào)用:Menu → Analyze → Analyze Stacktrace
快捷鍵:無纤怒,可以在設(shè)置中指定糯而。
更多:通過使用“ProGuard Unscramble Plugin”插件,也可以分析混淆過的堆棧追蹤泊窘。
- 關(guān)聯(lián)調(diào)試程序(Attach Debugger)
描述:隨時啟動調(diào)試程序熄驼,即使你沒有以調(diào)試模式啟動你的應(yīng)用。這是一個很方便的操作烘豹,因為你不必為了調(diào)試程序而以調(diào)試模式重新部署你的應(yīng)用瓜贾。當別人正在測試應(yīng)用,突然遇到一個bug而將設(shè)備交給你時携悯,你也可以很快地進入調(diào)試模式祭芦。
調(diào)用:點擊工具欄圖標或者Menu → Build → Attach to Android Process
快捷鍵:無,可以在設(shè)置中指定憔鬼,或者點擊工具欄對應(yīng)的圖標龟劲。
- 條件斷點(Conditional Breakpoints)
描述:簡單說,就是當設(shè)定的條件滿足時逊彭,才會觸發(fā)斷點咸灿。你可以基于當前范圍輸入一個java布爾表達式,并且條件輸入框內(nèi)是支持代碼補全的侮叮。
調(diào)用:右鍵需要填寫表達式的斷點避矢,然后輸入布爾表達式。
- 禁用斷點(Disable Breakpoints)
這個操作將使得斷點。當你有一個設(shè)置過復(fù)雜條件的斷點或者是日志斷點审胸,當前不需要亥宿,但是下次又不用重新創(chuàng)建,該操作是很方便的砂沛。
調(diào)用:按住Alt烫扼,然后單擊斷點即可。
- 計算表達式(Evaluate Expression)
描述:這個操作可以用來查看變量的內(nèi)容并且計算幾乎任何有效的java表達式碍庵。需要注意的是映企,如果你修改了變量的狀態(tài),這個狀態(tài)在你恢復(fù)代碼執(zhí)行后依然會保留静浴。
快捷鍵:處在斷點狀態(tài)時堰氓,光標放在變量處,按Alt + F8苹享,即可顯示計算表達式對話框双絮。
- 審查變量(Inspect Variable)
描述:該操作可以在不打開計算表達式對話框就能審查表達式的值。
快捷鍵:調(diào)試狀態(tài)下得问,按住Alt鍵囤攀,然后單擊表達式即可。
- 日志斷點(Logging Breakpoints)
描述:這是一種打印日志而不是暫停的斷點宫纬,當你想打印一些日志信息但是不想添加log
代碼后重新部署項目焚挠,這是一個非常有用的操作。
調(diào)用:在斷點上右鍵哪怔,取消Suspend
的勾選宣蔚,然后勾選上Log evaluated Expression
,并在輸入框中輸入你要打印的日志信息认境。
- 標記對象(Mark Object)
描述:當你在調(diào)試的時候胚委,這個操作可以讓你給某個特殊的對象添加一個標簽,方便你后面很快地辨認叉信。在調(diào)試時亩冬,當你從一堆相似的對象中查看某個對象是否和之前是一樣的,這就是一個非常有用的操作硼身。
調(diào)用:右鍵你需要標記的對象硅急,選中Mark Object
,輸入標簽佳遂;
快捷鍵:選中對象時营袜,按F3(OS X)、F11(Windows/Linux)丑罪;
- 顯示當前運行點(Show Execution Point)
描述:該操作會立刻把你的光標移回到當前debug處荚板。
通常的情況是: 1. 你在某處觸發(fā)了斷點 2. 然后在文件中隨意瀏覽 3. 直接調(diào)用這個快捷鍵凤壁,快速返回之前逐步調(diào)試的地方。
快捷鍵:(Debug時) Alt + F10跪另;
- 終止進程(Stop Process)
描述:該操作會終止當前正在運行的任務(wù)拧抖。如果任務(wù)數(shù)量大于一,則顯示一個列表供你選擇免绿。在終止調(diào)試或者中止編譯的時候特別有用唧席!
快捷鍵:Cmd + F2(OS X)、Ctrl + F2(Windows嘲驾、Linux)淌哟;
- 臨時斷點(Temporary Breakpoints)
描述:通過該操作可以添加一個斷點,這個斷點會在第一次被命中的時候自動移除辽故。
快捷鍵:Alt + 鼠標左鍵 點擊代碼左側(cè)(鼠標)绞绒、Cmd + Alt + Shift + F8(OS X)、Ctrl + Alt + Shift + F8(Windows/Linux)
- 調(diào)用層級樹彈窗(The Call Hierarchy Popup)
描述:該操作會給你展示 在一個方法的聲明和調(diào)用之間所有可能的路徑榕暇。
快捷鍵:Ctrl + Alt + H