成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【方向盤】使用IDEA的60+個快捷鍵分享給你,全為了提效(運行/調試篇)

開發 項目管理
本文繼續介紹了IDEA Run運行和Debug調試相關的快捷鍵,希望在調試的路上能助你節約時間,提高逼格,離“高手”之路更近一步。

?前言本系列上篇文章介紹了IDEA里關于視窗、選擇方面的快捷鍵,熟練掌握可以快速找到、定位到自己想要的代碼。

本文將繼續IDEA在Run運行、Debug調試方面的快捷鍵。

所屬專欄

  • 【方向盤】-IntelliJ IDEA。

相關下載

版本約定

  • Mac OS 12.3。
  • iTerm2 3.4.15(zsh 5.8)。
  • IntelliJ IDEA 2021.3.3。

正文

IntelliJ IDEA快捷鍵

Run/Debug

在運行方式下,程序執行,但不會暫掛或檢查執行。

  • 在調試方式下,程序執行,但可暫掛執行和繼續執行、可檢查變量,還可對表達式求值。

Run運行

運行(main方法)。運行是個通用概念,這里專指Java語言里的main方法(或者單元測試里的@Test)。

運行好理解,這里的重中之重是搞清楚這三個 Run的區別是什么:

control + r:運行上下文里當前的入口,也叫運行上次運行過的入口。

也就是當前這里顯示的入口: 它的優點是可以在Project的任意地方直接運行此入口來啟動項目,非常非常的方便,也是筆者最為常用的運行方式,畢竟一般來講一個應用(不管是Spring Boot應用or傳統war應用)只會有一個入口的嘛。

control + shift + r:運行當前文件里的main方法。它的特點是:當前文件若有main方法,它會自動找到它運行,不管你文件有多長;當然嘍,若當前文件沒有main方法,那按下此快捷鍵將無反應。

  • 它的典型使用場景是:自己寫main方法測試某些東西的時候,按下快捷鍵運行將非常高效。
  • 值得注意的是:當你按下此快捷鍵后,這里(如下圖)也會切換哦,所以此時若再按下control + r執行的的可是“它”了。

control + option + r:它不會執行運行,而是調出Run的窗口,讓你選擇入口,如下圖所示:

實話說,這個快捷鍵筆者用得很少,畢竟大多數情況下就1-2個入口嘛,前兩個快捷鍵足夠用了,各位自取所需。

Debug調試

邏輯含義完全同Run,這里就不做過多解釋了。

有個小技巧:Run/Debug窗口選擇入口時,按shift是可以互相切換的:

Tips:debug也是一種運行態,從狀態來講二者都屬于運行范疇,都可以stop停止。

Stop停止

停止正在運行的(進程)。比如:main方法進程、SQL連接、Http請求、執行SQL的進程...當然嘍,在IDEA里用的最多還是停止main方法進程,也就是這個按鈕:

值得注意的事,若當前有多個線程正在運行,那么按下此快捷鍵時會彈出窗口,交由你決策(效果同鼠標點擊右上角的停止按鈕):

調試快捷鍵

正所謂三分開發,七分調試,所以熟練掌握常用的debug調試快捷鍵,也是用處大大滴。常用按鈕位置分布如圖:

對了,之前發過一篇“很強悍”的調試技巧,可結合本文一起參閱效果更佳:最好的IDEA debug長文?看完我佛了。

Step Over

單步執行、單步調試。是使用最頻繁的調試快捷鍵,沒有之一。它的特點是:遇到子函數時不會進入子函數內,而是將子函數整個執行完再停止,也就是把子函數整個作為一步。

Step Into

也叫單步執行、單步調試。和Step Over的區別是:遇到子函數時會進入子函數內。

Step Out

當已經單步執行到子函數內時,使用此功能可以一次性執行完子函數余下部分,并返回到上一層函數(停住)。

Force Step Into

顧名思義:強制進入。Force Step Into和Step Into的區別是:前者可進入任何方法,后者只能進入自定義方法or三方庫方法,官方庫(如JDK庫)是不能進入的。如下的toString()方法使用Step Into是進不去的,若想進入只能使用Force Step Into。

老實說,大多數情況下Step Into就夠用了,Force Step Into其實比較少用到。

Force Step Over

當在使用Step Over的時候,執行到函數時若內部有斷點,則會停住。而若使用Force Step Over的話,無論此函數里面是否有斷點,略過直接執行到下一行。

Tips:由于此功能不太常用,所以debug面板里沒按鈕,若需要就用快捷鍵觸發嘍。

Run to Cursor

這個快捷鍵筆者巨喜歡,非常非常方便。功能含義就是字面意思:程序執行到光標位置暫停。

它綁定了兩個快捷鍵,筆者習慣用后者:使用Mac的force touch簡直不要太香,所見即所得,體驗完美。

什么是force touch?點擊前往。

Evaluate

調試過程中,代碼中的變量值可以在窗口中直接看到,但是,有些是看不到的,比如:中間變量、表達式計算值。這時候就得祭出這個神器了:Evaluate Expression。

有一定開發經驗的小伙伴一定都用過這個功能,既然這么常用,以后能用快捷鍵來提效嗎?

哦對了,當你在輸入框里寫好語句想要執行時,也無需使用鼠標點擊右下角的Evaluate按鈕,按common + enter即可執行(效果同點擊右下角的Evalute按鈕)。

說明:common + enter在Mac里是個常見快捷鍵組合,在很多場景里都代表Run、執行、確定的含義。

Quick Evaluate

快速執行(光標選中的)表達式,就像這樣:

實話講,該快捷鍵在實際工作中比????更常用。根據筆者的經驗,調試過程中大多數情況是執行源代碼里已經存在的表達式的值來查看,而需要自定義表達式的場景是比較少的,所以這個快捷鍵要記牢嘍。

說明:該功能綁定有兩個快捷鍵,各位按需食用,哪個順手就用哪個唄。

Resume Program

繼續執行程序,直到遇到下一個斷點。換句話講,若后面再無斷點就執行結束。該快捷鍵,筆者常用,有“放行”之意。

丟幀功能鍵:Drop Frame

功能直譯:丟(棧)幀。使用此功能:可以回退到之前的堆棧,就像將當前棧幀給丟掉不要了一樣,效果就是如果調試過程中“錯過”了某個步驟想重來一次,使用它就可以重新進入執行。

在debug視窗里,可以看到當前線程的調用堆棧:

說明:只有堆棧的數量>1時,Drop Frame按鈕才可使用,否則是灰色的。

這時點擊一次該按鈕,就會將棧頂的這幀丟棄掉,就像這樣:

這樣子若想再執行一次stringSize這幀就非常方便了,似乎有時光機的效果。

值得關注的是,Drop Frame這個功能IDEA默認并沒有給快捷鍵,我覺得原因有二:

1、此功能使用上需要當心,時光機可能也倒回不了真實的現場。

  • 用技術語言解釋為:若丟掉的那一幀對上下文狀態(如全局變量、發送了消息、DB持久化了數據等等)做了更改,這種是不會撤銷的。而這,很可能導致再次執行時的路徑不一樣,所以需要謹慎為之。

2、基于1的特點,IDEA覺得該功能使用的頻率不會太高,了解的程度也因人而異,所以默認就不給綁定快捷鍵嘍

實話講,筆者使用該功能也很少,畢竟大多數情況下重新啟動新的線程來調試也不費多大事,但環境是干凈有保障的。

其它功能鍵

IDEA作為強大的集成開發環境,對于debug調試的支持更是強大,比如:丟幀功能、lamda表達式調試、stream流調試等等?,F在已是2022年,基本你想要的功能它都有,只是有些(不太常用)的默認沒有綁定快捷鍵。

這些Action一般可通過右鍵、頂部菜單欄調出來,如下圖:

可根據個人習慣,覺得哪些是常用就綁定為自己習慣的快捷鍵組合就可以了。

總結

本文繼續介紹了IDEA Run運行和Debug調試相關的快捷鍵,希望在調試的路上能助你節約時間,提高逼格,離“高手”之路更近一步。

責任編輯:姜華 來源: Java方向盤
相關推薦

2022-01-04 08:14:00

IDEA快捷鍵操作系統

2022-03-28 08:35:33

IDEA快捷鍵操作視窗

2022-04-11 08:34:27

IDEA代碼補全

2022-05-09 08:36:56

IDEA代碼重構

2025-02-26 12:00:00

JavaScript代碼開發

2012-10-08 15:20:17

Ubuntu快捷鍵

2013-07-25 14:06:58

Windows 8快捷鍵

2023-11-22 18:04:50

快捷鍵? macOS

2017-12-14 14:19:52

IntellijIDEA快捷鍵

2023-07-08 23:02:14

快捷鍵IntelliJIDEA

2023-10-27 18:13:01

語句代碼列表

2024-02-28 18:01:20

IDEAIDEtry

2010-08-06 12:58:29

2011-07-06 11:30:14

xcode

2011-07-06 12:44:54

xcode

2009-06-16 13:53:00

netbeans 快捷

2023-07-26 00:49:05

Alt搜索箭頭鍵

2023-11-20 18:20:00

開發插件

2010-03-04 14:25:50

Linux快捷鍵

2010-03-05 14:19:55

Linux bash快
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一区二区视频 | 麻豆av在线| 无码一区二区三区视频 | 九九热精品在线 | 国产精品视频一区二区三区不卡 | 精品美女久久久久久免费 | 视频一区二区在线观看 | 成人免费在线观看 | 国产精品久久久 | 国产高清在线精品一区二区三区 | 国产精品美女久久久久aⅴ国产馆 | 欧美99久久精品乱码影视 | 中文字幕视频在线观看 | 国产精品mv在线观看 | 色综合色综合色综合 | 久热久热 | 日本高清精品 | 欧美三区在线观看 | 国产精品久久二区 | 免费中文字幕日韩欧美 | 久久久久亚洲 | 国产午夜精品一区二区 | 久久久免费少妇高潮毛片 | 成人国产在线视频 | 黄色大片网 | 色妞av| 欧美国产精品 | 亚洲人成人一区二区在线观看 | 日韩精品一区二区三区中文在线 | 在线色网站| 亚洲码欧美码一区二区三区 | 国产成人小视频 | 国产二区视频 | 日本黄色大片免费看 | 女人天堂av| 亚洲国产偷 | 99久久精品免费看国产四区 | 国产精品日韩一区二区 | 日韩视频国产 | 高清av在线 | 国产精品不卡一区 |