Android Studio 小技巧/快捷鍵 合集

技術小百科發表於2017-10-31

本文講的是Android Studio 小技巧/快捷鍵 合集,


寫在前面

本文翻譯自 Android Studio Tips by Philippe Breault,一共收集了62個 Android Studio 使用小技巧和快捷鍵。 根據這些小技巧的使用場景,本文將這63個小技巧分為常用技巧(1 – 28)、編碼技巧(29 – 50)和除錯技巧(51 – 63),分成三個部分。

每個小技巧都配有 gif 動圖,由於原圖在 google photo 上,載入較慢,本文全部轉存到七牛上了。

由於能力有限,翻譯過程中難免有所疏漏,如發現錯誤或問題,請在評論中提出,謝謝。

我有幾張阿里雲幸運券分享給你,用券購買或者升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要搶光了。

常用技巧


1. 書籤(Bookmarks)

  • 描述:這是一個很有用的功能,讓你可以在某處做個標記(書籤),方便後面再跳轉到此處。

  • 呼叫: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),顯示所有的書籤列表,並且是可以搜尋的。

    • 上一個/下一個書籤:無,可以在設定中設定快捷鍵。

  • 更多:當你為某個書籤指定了標記,你可以使用快捷鍵 Ctrl + 標記 來快速跳轉到標記處,比如輸入Ctrl + 1,跳到標記為1的書籤處。

2. 摺疊/展開程式碼塊(Collapse Expand Code Block)

  • 描述:該操作提供一種方法,讓你隱藏你不關心的部分程式碼,以一種較為簡潔的格式顯示關鍵程式碼。一個有意思的用法是隱藏匿名內部類的程式碼,讓其看起來像一個Lambda表示式。

  • 快捷鍵:Cmd + “+”/”-“(OS X)、Ctrl + Shift + “+”/”-“(Windows/Linux);

  • 更多:可以在Settig → Editor → General → Code Folding 中設定摺疊規則。

3. 與分支比對(Compare With Branch (Git))

  • 描述:假如你的專案是使用git來管理的,你可以將當前檔案或者資料夾與其他的分支進行比對。比較有用的是可以讓你瞭解到你與主分支有多少差別。

  • 呼叫:Menu → VCS → Git → Compare With Branch

4. 與剪下板比對(Compare With Clipboard)

  • 描述:將當前選中的部分與剪下板上的內容進行比對。

  • 呼叫:右鍵選中的部分,在右鍵選單中選擇“Compare With Clipboard”。

5. 上下文資訊(Context Info)

  • 描述:當前作用域定義超過滾動區域,執行該操作將顯示所在的上下文資訊,通常它顯示的是類名或者內部類類名或者當前所在的方法名。該操作在xml檔案中同樣適用。

  • 呼叫:Menu → View → Context Info

  • 快捷鍵:Alt + Q (Windows/Linux)

  • 更多:個人認為,這個功能更好的用法是快速檢視當前類繼承的父類或者實現的介面。

6. 查詢操作(Find Action)

  • 描述:輸入某個操作的名稱,快速查詢,對於沒有快捷鍵的部分操作這是一個很有用的技巧。

  • 快捷鍵:Cmd +Shift + A(OS X)、Ctrl + Shift + A(Windows/Linux);

  • 更多:當某個操作是有快捷鍵的,會顯示在旁邊。

7. 查詢補全(Find Complection)

  • 描述:當你在一個檔案中進行查詢時,使用自動補全快捷鍵可以給出在當前檔案中出現的建議單詞;

  • 快捷鍵:Cmd + F(OS X),Ctrl + F(Windows/Linux),輸入一些字元,然後使用自動補全;

8. 隱藏所有皮膚(Hide All Panels)

  • 描述:切換編輯器鋪滿整個程式介面,隱藏其他的皮膚。再次執行該操作,將會回到隱藏前的狀態。

  • 呼叫:Menu → Window → Active Tool Window → Hide All Windows;

  • 快捷鍵:Cmd +Shift + F12(OS X)、Ctrl + Shift + F12(Windows/Linux);

9. 高亮一切(Hightlight All the Things)

  • 描述:該操作將會高亮某個字元在當前檔案中所有出現的地方。這不僅僅是簡單的匹配,實際上它會分析當前的作用域,只高亮相關的部分。

  • 呼叫:Menu → Edit → Find → Highlight Usages in File;

  • 定位到上一處/下一處:Menu → Edit → Find → Find Next/Previous;

  • 快捷鍵:相關快捷鍵請在選單中檢視;

  • 更多:

    • 如果高亮一個方法的returnthrow語句,將會高亮這個方法的所有出口/結束點;

    • 如果高亮某個類定義處的extendimplements語句,將會高亮繼承的或實現的方法;

    • 高亮一個import語句也會高亮使用到的地方;

    • 按下Esc可以退出高亮模式;

10. 回到上一個工具視窗(Jump to Last Tool Window)

  • 描述:有時候你會從某個工具視窗跳到編輯器裡面,然後又需要重新回到剛才操作的那個工具窗,比如你查詢使用情況的時,使用該操作可以在不使用滑鼠的情況下跳轉到之前的工具視窗。

  • 快捷鍵:F12;

11. 上一個編輯位置(Last Edit Location)

  • 描述:該操作將使得你導航到上一處你改動過的地方,這與點選工具欄上的返回箭頭回到上一個定位位置是不一樣的,該操作將會返回到上一個編輯的位置。

  • 快捷鍵: Cmd + Shift + Delete(OS X)、Ctrl + Shift + Backspace(Windows/Linux);

12. 在方法和內部類之間跳轉(Move Between Methods and Inner Classes)

  • 描述:該操作讓游標在當前檔案的方法或內部類的名字間跳轉。

  • 呼叫:Navigate → Next Method/Previous Method;

  • 快捷鍵:Ctrl + Up/Down(OS X)、Alt + Up/Down(Windows/Linux);

13. 定位到巢狀檔案(Navigate to Nested File)

  • 描述:有時你有一堆存放在不同目錄下的同名檔案,例如不同模組下的AndroidManifest.xml檔案,當你想定位到其中的一個檔案,你會得到一堆搜尋結果,你還得辨認哪個才是你需要的。通過在檢索框中輸入部分路徑的字首,並新增斜槓號,你就可以在第一次嘗試的時候就找到正確的那個。

  • 快捷鍵:Shift + Cmd + O(OS X)、Shift + Ctrl + N(Windows/Linux);

14. 定位到父類(Navigate to parent)

  • 描述:如果游標是在一個繼承父類重寫的方法裡,這個操作將定位到父類實現的地方。如果游標是在類名上,則定位到父類類名。

  • Menu → Navigate → Super Class/Method

  • 快捷鍵:Cmd + U(OS X)、Ctrl + U(Windows/Linux);

15. 根據編號開啟皮膚(Open a Panel by Its Number)

  • 描述:你可能已經注意到某些皮膚的名稱左邊有一個數字,這裡有個快捷操作可以開啟它們。如果你沒看到皮膚的名稱,請點選IDE的左下角的切換按鈕。

  • 快捷鍵:Cmd + 數字(OS X)、Alt + 數字(Windows/Linux);

16. 在外部開啟檔案(Open File Externally)

  • 描述:通過這個快捷鍵,簡單地點選 Tab,就可以開啟當前檔案所在的位置或者該檔案的任意上層路徑。

  • 快捷鍵:Cmd + 單擊Tab(OS X)、Ctrl + 點選Tab(Windows/Linux);

17. 引數資訊(Parameter Info)

  • 描述:這個操作將顯示和你在方法宣告處寫一樣的引數列表,當你想看某個存在的方法的引數,這是一個很有用的操作。游標下的引數顯示為黃色,如果沒有引數顯示黃色,意味著你的方法呼叫是無效的,很可能是某個引數分配不對。(例如一個浮點數賦值給了整型引數)。如果你正在寫一個方法呼叫,突然離開編輯的地方,再返回的時候,輸入一個逗號,就可以重新觸發引數資訊。

  • 快捷鍵:Cmd + P(OS X)、Ctrl + P(Windows/Linux);

18. 快速檢視定義(Quick Definition Lookup)

  • 描述:你曾經是否想檢視一個方法或者類的具體實現,但是不想離開當前介面? 該操作可以幫你搞定。

  • 快捷鍵:Alt + Space / Cmd + Y(OS X)、Ctrl + Shift + I(Windows/Linux)

19. 最近修改的檔案(Recently Changed Files)

  • 描述:該操作類似於“最近訪問(Recents)”彈窗,會顯示最近本地修改過的檔案列表,根據修改時間排列。可以輸入字元來過濾列表結果。

  • 快捷鍵:Cmd + Shift + E(OS X)、Ctrl + Shift + E(Windows/Linux)

20. 最近訪問(Recents)

  • 描述:該操作可以得到一個最近訪問檔案的可搜尋的列表。

  • 快捷鍵:Cmd + E(OS X)、Ctrl + E(Windows/Linux)

21. 相關檔案(Related File)

  • 描述:該操作有助於在佈局檔案和Activity/Fragment之間輕鬆跳轉。這也是一個快捷操作,在類名/佈局頂端的左側。

  • 快捷鍵:Ctrl + Cmd + Up(OS X)、Ctrl + Alt + Home(Windows/Linux)

22. 返回到編輯器(Return to the Editor)

  • 描述:一大堆快捷鍵操作會把你從編輯器帶走(type hierarchy, find usages, 等等)。如果你想返回到編輯器,你有兩個選項:

  1. Esc:該操作僅僅把游標移回編輯器。

  2. Shift + Esc:該操作會關閉當前皮膚,然後把游標移回到編輯器。

  • 快捷鍵:

    • 返回但保留開啟的皮膚:Esc

    • 關閉皮膚並返回:Shift + Esc

    23. Select In

    • 描述:拿著當前檔案然後問你在哪裡選中該檔案。恕我直言,最有用的就是在專案結構或者資源管理器中開啟該檔案。每一個操作都有數字或者字母作為字首,可以通過這個字首來快速跳轉。通常,我會 Alt + F1 然後 回車(Enter) 來開啟專案檢視,然後 再用 Alt + F1 在OS X的Finder裡找到檔案。你可以在檔案中或者直接在專案檢視裡使用該操作。

    • 快捷鍵:Alt + F1;

    24. 擴大/縮小選擇(Extend/Shrink Selection)

    • 描述:該操作會在上下文逐漸擴大/縮小當前選擇範圍。例如,它會先選中當前變數,再選中當前語句,然後選中整個方法,縮小選擇則相反。

    • 快捷鍵:Alt + 上/下 (OS X)、Ctrl+W / Ctrl + Shift + W(Windows、Linux)

    25. Sublime Text式的多處選擇(Sublime Text Multi Selection)

    • 描述:這個功能超級贊!該操作會識別當前選中字串,選擇下一個同樣的字串,並且新增一個游標。這意味著你可以在同一個檔案裡擁有多個游標,你可以同時在所有游標處輸入任何東西。

    • 快捷鍵:Ctrl + G(OS X)、Alt + J(Windows、Linux)

    26. 檔案結構彈窗(The File Structure Popup)

    • 描述:該操作可以展示當前類的大綱,並且可以快速跳轉。你還可以通過鍵盤輸入來過濾結果。這是一種很高效的方法來跳轉到指定方法。

    • 更多:

      • 你在輸入字元的時候可以用駝峰風格來過濾選項。比如輸入”oCr”會找到”onCreate”

      • 你可以通過勾選多選框來決定是否顯示匿名類。這在某些情況下很有用,比如你想直接跳轉到一個OnClickListener的onClick方法。

    • 快捷鍵:Cmd + F12(OS X)、Ctrl + F12(Windows/Linux)

    • 呼叫:Menu → Navigate → File Structure

    27. 切換器(The Switcher)

    • 描述:該快捷鍵基本上就是IDE的alt+tab/cmd+tab命令。你可以用它在導航tab或者皮膚切換。一旦開啟這個視窗,只要一直按著ctrl鍵,你可以通過對應的數字或者字母快捷鍵快速選擇。你也可以通過backspace鍵來關閉一個已選中的tab或者皮膚。

    • 快捷鍵:Ctrl + Tab

    28. 版本控制操作彈窗(VCS Operations Popup)

    • 描述:該操作會給你顯示最常用的版本控制操作。如果你的專案沒有用git等版本控制軟體進行管理,它至少會給你提供一個由IDE維護的本地歷史記錄。

    • 快捷鍵:Ctrl + V(OS X)、Alt + `(Windows/Linux)


    編碼技巧


    29. 列選擇/塊選擇(Column Selection)

    • 描述:正常選擇時,當你向下選擇時,會直接將當前行到行尾都選中,而塊選擇模式下,則是根據滑鼠選中的矩形區域來選擇。

    • 呼叫:按住Alt,然後拖動滑鼠選擇。

    • 開啟/關閉塊選擇:Menu → Edit → Column Selection Mode

    • 快捷鍵:切換塊選擇模式:Cmd + Shift + 8(OS X)、Shift + Alt + Insert(Windows/Linux);

    30. 語句補全(Complete Statement)

    • 描述:這個方法將會生成缺失的程式碼來補全語句,常用的使用場景如下:

      • 在行末新增一個分號,即使游標不在行末;

      • 為if、while、for 語句生成圓括號和大括號;

      • 方法宣告後,新增大括號;

    • 呼叫:Menu → Edit → Compelete Current Statement

    • 快捷鍵:Cmd + Shift + Enter(OS X)、Ctrl + Shift + Enter(Windows/Linux);

    • 更多:如果一個語句已經補全,當你執行該操作時,則會直接跳到下一行,即使游標不在當前行的行末。

    31. 刪除行(Delete Line)

    • 描述:如果沒選中,則刪除游標所在行,如果選中,則會刪除選中所在的所有行。

    • 快捷鍵:Cmd + Delete(OS X)、Ctrl + Y(Windows/Linux)

    32. 行復制(Duplicate Line)

    • 描述:複製當前行,並貼上到下一行,這個操作不會影響剪貼簿的內容。這個命令配合移動行快捷鍵非常有用。

    • 快捷鍵:Cmd + D(OS X)、Ctrl + D(Windows/Linux)

    33. 編寫正規表示式(Edit Regex)

    • 描述:使用Java編寫正規表示式是一件很困難的事,主要原因是:

      • 你必須得避開反斜槓;

      • 說實話,正則很難;

      • 看第二條。

    IDE能幫我們乾點啥呢?當然是一個舒服的介面來編寫和測試正則啦~

    • 快捷鍵:Alt + Enter → check regexp

    34. 使用Enter和Tab進行程式碼補全的差別(Enter vs Tab for Code Completion)

    • 描述:程式碼補全時,可以使用Enter或Tab來進行補全操作,但是兩者是有差別的。

    • 使用Enter時:從游標處插入補全的程式碼,對原來的程式碼不做任何操作。

    • 使用Tab時:從游標處插入補全的程式碼,並刪除後面的程式碼,直到遇到點號、圓括號、分號或空格為止。

    35. 提取方法(Extract Method)

    • 描述:提取一段程式碼塊,生成一個新的方法。當你發現某個方法裡面過於複雜,需要將某一段程式碼提取成單獨的方法時,該技巧是很有用的。

    • 呼叫:Menu → Refactor → Extract → Method

    • 快捷鍵:Cmd + Alt + M(OS X)、Ctrl + Alt + M(Windows/Linux);

    • 更多:在提取程式碼的對話方塊,你可以更改方法的修飾符和引數的變數名。

    36. 提取引數(Extract Parameter)

    • 描述:這是一個提取引數的快捷操作。當你覺得可以通過提取引數來優化某個方法的時候,這個技巧將很有用。該操作會將當前值作為一個方法的引數,將舊的值放到方法呼叫的地方,作為傳進來的引數。

    • 呼叫:Menu → Refactor → Extract → Parameter

    • 快捷鍵:Cmd + Alt + P(OS X)、Ctrl + Alt + P(Windows/Linux);

    • 更多:通過勾選“delegate”,可以保持舊的方法,過載生成一個新方法。

    37. 提取變數(Extract Variable)

    • 描述:這是一個提取變數的快捷操作。當你在沒有寫變數宣告的直接寫下值的時候,這是一個很方便生成變數宣告的操作,同時還會給出一個建議的變數命名。

    • 呼叫:Menu → Refactor → Extract → Variable

    • 快捷鍵:Cmd + Alt + V(OS X)、Ctrl + Alt + V(Windows/Linux);

    • 更多:當你需要改變變數宣告的型別,例如使用 List 替代 ArrayList,可以按下Shift + Tab,就會顯示所有可用的變數型別。

    38. 內建(Inline)

    • 描述:當你開始對提取操作有點興奮的時候,突然覺得東西太多了,怎麼辦呢?這是一個和提取相反的操作。該操作對方法、欄位、引數和變數均有效。

    • 呼叫:Menu → Refactor → Inline

    • 快捷鍵:Cmd + Alt + N(OS X)、Ctrl + Alt + N(Windows/Linux);

    39. 合併行和文字(Join Lines and Literals)

    • 描述:這個操作比起在行末使勁按刪除鍵爽多了!該操作遵守格式化規則,同時:

      • 合併兩行註釋,同時移除多餘的//

      • 合併多行字串,移除+和雙引號;

      • 合併欄位的宣告和初始化賦值;

    • 快捷鍵:Ctrl + Shift + J;

    40. 動態模板(Live Templates)

    • 描述:動態模板是一種快速插入程式碼片段的方法,使用動態模板比較有意思的是你可以使用合適的預設值將模板引數化,當你插入程式碼片段時,這可以指導你完成引數。

    • 更多:如果你知道模板的縮寫,就可以不必使用快捷鍵,只需要鍵入縮寫並使用Tab鍵補全即可。

    • 快捷鍵:Cmd + J(OS X)、Ctrl + J(Windows/Linux);

    41. 上下移動行(Move Lines Up Down)

    • 描述:不需要複製貼上就可以上下移動行了。

    • 快捷鍵:Alt + Shift + Up/Down;

    42. 移動方法(Move Methods)

    • 描述:這個操作和移動行操作很類似,不過該操作是應用於整個方法的,在不需要複製、貼上的情況下,就可以將整個方法塊移動到另一個方法的前面或後面。該操作的實際叫做“移動語句”,這意味著你可以移動任何型別的語句,你可以方便地調整欄位或內部類的順序。

    • 快捷鍵:Cmd + Alt + Up/Down(OS X)、Ctrl + Shift + Up/Down(Windows/Linux);

    43. 取反補全(Negation Completion)

    • 描述:有時你自動補全一個布林值,然後回到該值的前面新增一個感嘆號來完成取反操作,現在通過使用輸入!代替enter完成補全操作,就可以跳過這些繁瑣的操作了。

    • 快捷鍵:程式碼補全的時候,按下!即可(有時需要上下鍵選中候選項);

    44. 字尾補全(Postfix Completion)

    • 描述:你可以認為該操作是一種程式碼補全,它會在點號之前生成程式碼,而不是在點號之後。實際上你呼叫這個操作和正常的程式碼補全操作一樣:在一個表示式之後輸入點號。

    例如對一個列表進行遍歷,你可以輸入myList.for,然後按下Tab鍵,就會自動生成for迴圈程式碼。

    • 呼叫: 你可以在某個表示式後面輸入點號,出現一個候選列表,在常規的程式碼補全提示就可以看到一系列字尾補全關鍵字,同樣的,你也可以在Editor → Postfix Completion中看到一系列字尾補全關鍵字。

    • 常用的有字尾補全關鍵字有:

      • .for (補全foreach語句)

      • .format (使用String.format()包裹一個字串)

      • .cast (使用型別轉化包裹一個表示式)

    45. 重構(Refactor This)

    • 描述:該操作可以顯示所有對當前選中項可行的重構方法。這個列表可以用數字序號快速選擇。

    • 快捷鍵:Ctrl + T(OS X)、Ctrl + Alt + Shift + T(Windows/Linux)

    46. 重新命名(Rename)

    • 描述:你可以通過該操作重新命名變數、欄位、方法、類、包。當然了,該操作會確保重新命名對上下文有意義,不會無腦替換掉所有檔案中的名字;

    • 快捷鍵:Shift + F6

    • 更多:如果你忘記了這個快捷鍵,你可以使用快速修復(Quick Fix)的快捷鍵,它通常包含重新命名選項。

    47. 分號/點 補全(Semicolon Dot Completion)

    • 描述:程式碼補全這個功能太棒啦!我們大概都對以下這種情況很熟悉:開始輸入點什麼東西,接著從IDE得到一些建議的選項,然後通過Enter或者Tab來選擇我們想要的補全程式碼。其實還有另外一種方法來選擇補全的程式碼:我們可以輸入一個點(.)或者一個分號(;)。這樣就會完成補全,新增所選字元。這在結束一條語句補全或者快速鏈式呼叫方法的時候特別有用。

    • 注意點:如果你要程式碼補全的方法需要引數,這些引數會被略過。

    • 快捷鍵:Autocomplete + “.” 或者 “;”

    48. 包裹程式碼(Surround With)

    • 描述: 該操作可以用特定程式碼結構包裹住選中的程式碼塊,通常是if語句,迴圈,try/catch語句或者runnable語句。 如果你沒有選中任何東西,該操作會包裹當前一整行。

    • 快捷鍵:Cmd + Alt + T(OS X)、Ctrl + Alt + T(Windows/Linux)

    49. 移除包裹程式碼(Unwrap Remove)

    • 描述:該操作會移除周圍的程式碼,它可能是一條if語句,一個while迴圈,一個try/catch語句甚至是一個runnable語句。該操作恰恰和包裹程式碼(Surround With)相反。

    • 快捷鍵:Cmd + Shift + Delete(OS X)、Ctrl + Shift + Delete(Windows/Linux)

    50. 手動喚出自動補全(Class Name Completion)

    • 描述:一般使用 Android Studio 的時候,自動提示會在你想要提示的時候自動出現,比如輸入 Log. ,就出現 Log.d()Log.eLog.i() 等提示。不過如果在自動提示的時候手一抖選錯的話,比如想選 Log.d() 結果選了 Log.e() ,你可能會把 .e() 都刪掉,然後再輸入一個 . , 然後彈出自動補全提示。其實這時候只需要刪除 e() 然後手動喚出自動補全即可。

    • 快捷鍵: Ctrl + Alt + Space (OS X/Windows/Linux) (可能存在快捷鍵衝突無法喚出,修改下快捷鍵即可)


    除錯技巧


    51. 分析傳入資料流(Analyze data flow to here)

    • 描述:這個操作將會根據當前選中的變數、引數或者欄位,分析出其傳遞到此處的路徑。 當你進入某段陌生的程式碼,試圖明白某個引數是怎麼傳遞到此處的時候,這是一個非常有用的操作。

    • 呼叫:Menu → Analyze → Analyze Data Flow to Here

    • 快捷鍵:無,可以在設定中指定。

    • 相反的操作:分析傳出資料流(Analyze data flow from here),這個將會分析當前選中的變數往下傳遞的路徑,直到結束。

    52. 堆疊追蹤分析(Analyze Stacktrace)

    • 描述: 這個操作讀取一份堆疊追蹤資訊,並且使它像logcat中那樣可以點選。當你從bug報告中或者終端複製了一份堆疊追蹤,使用該操作可以很方便地除錯。

    • 呼叫:Menu → Analyze → Analyze Stacktrace

    • 快捷鍵:無,可以在設定中指定。

    • 更多:通過使用“ProGuard Unscramble Plugin”外掛,也可以分析混淆過的堆疊追蹤。

    53. 關聯除錯程式(Attach Debugger)

    • 描述:隨時啟動除錯程式,即使你沒有以除錯模式啟動你的應用。這是一個很方便的操作,因為你不必為了除錯程式而以除錯模式重新部署你的應用。當別人正在測試應用,突然遇到一個bug而將裝置交給你時,你也可以很快地進入除錯模式。

    • 呼叫:點選工具欄圖示或者Menu → Build → Attach to Android Process

    • 快捷鍵:無,可以在設定中指定,或者點選工具欄對應的圖示。

    54. 條件斷點(Conditional Breakpoints)

    • 描述:簡單說,就是當設定的條件滿足時,才會觸發斷點。你可以基於當前範圍輸入一個java布林表示式,並且條件輸入框內是支援程式碼補全的。

    • 呼叫:右鍵需要填寫表示式的斷點,然後輸入布林表示式。

    55. 禁用斷點(Disable Breakpoints)

    • 這個操作將使得斷點。當你有一個設定過複雜條件的斷點或者是日誌斷點,當前不需要,但是下次又不用重新建立,該操作是很方便的。

    • 呼叫:按住Alt,然後單擊斷點即可。

    56. 計算表示式(Evaluate Expression)

    • 描述:這個操作可以用來檢視變數的內容並且計算幾乎任何有效的java表示式。需要注意的是,如果你修改了變數的狀態,這個狀態在你恢復程式碼執行後依然會保留。

    • 快捷鍵:處在斷點狀態時,游標放在變數處,按Alt + F8,即可顯示計算表示式對話方塊。

    57. 審查變數(Inspect Variable)

    • 描述:該操作可以在不開啟計算表示式對話方塊就能審查表示式的值。

    • 快捷鍵:除錯狀態下,按住Alt鍵,然後單擊表示式即可。

    58. 日誌斷點(Logging Breakpoints)

    • 描述:這是一種列印日誌而不是暫停的斷點,當你想列印一些日誌資訊但是不想新增log程式碼後重新部署專案,這是一個非常有用的操作。

    • 呼叫:在斷點上右鍵,取消Suspend的勾選,然後勾選上Log evaluated Expression,並在輸入框中輸入你要列印的日誌資訊。

    59. 標記物件(Mark Object)

    • 描述:當你在除錯的時候,這個操作可以讓你給某個特殊的物件新增一個標籤,方便你後面很快地辨認。在除錯時,當你從一堆相似的物件中檢視某個物件是否和之前是一樣的,這就是一個非常有用的操作。

    • 呼叫:右鍵你需要標記的物件,選中Mark Object,輸入標籤;

    • 快捷鍵:選中物件時,按F3(OS X)、F11(Windows/Linux);

    

    60. 顯示當前執行點(Show Execution Point)

    • 描述:該操作會立刻把你的游標移回到當前debug處。

    通常的情況是:

    1. 你在某處觸發了斷點

    2. 然後在檔案中隨意瀏覽

    3. 直接呼叫這個快捷鍵,快速返回之前逐步除錯的地方。

    • 快捷鍵:(Debug時) Alt + F10;

    61. 終止程式(Stop Process)

    • 描述:該操作會終止當前正在執行的任務。如果任務數量大於一,則顯示一個列表供你選擇。在終止除錯或者中止編譯的時候特別有用!

    • 快捷鍵:Cmd + F2(OS X)、Ctrl + F2(Windows、Linux);

    62. 臨時斷點(Temporary Breakpoints)

    • 描述:通過該操作可以新增一個斷點,這個斷點會在第一次被命中的時候自動移除。

    • 快捷鍵:Alt + 滑鼠左鍵 點選程式碼左側(滑鼠)、Cmd + Alt + Shift + F8(OS X)、Ctrl + Alt + Shift + F8(Windows/Linux)

    63. 呼叫層級樹彈窗(The Call Hierarchy Popup)

    • 描述:該操作會給你展示 在一個方法的宣告和呼叫之間所有可能的路徑。

    • 快捷鍵:Ctrl + Alt + H

    相關文章