【一】Idea工具常用技巧總結(jié)

Idea常用技巧總結(jié)

1.無(wú)處不在的跳轉(zhuǎn)

注:這里的快捷鍵是自己定義的驱负,并非大家的都一樣竿刁,可以通過(guò)findAction查找相應(yīng)的快捷鍵。
菜單欄選擇"幫助/help"→FindAction(ctrl+shift+A)快速搜索想要查找命令。
我這里只演示windows平臺(tái)使用的快捷鍵(eclipse版本KeyMap)改化。

1.1 項(xiàng)目窗口間的跳轉(zhuǎn)

  • 菜單欄選擇window →Previous Project Window(ctrl+alt+左方括號(hào))

1.2 文件之間的跳轉(zhuǎn)

  • 查看近期瀏覽文件 findaction(ctrl+shift+A) →輸入recent files
    • Ctrl+E
  • 查看近期改動(dòng)文件 recent changed files ? ctrl+shift+e
  • 修改位置跳轉(zhuǎn)
    • 菜單欄"Navigate"→last edit location(ctrl+Q)
    • 反之 next edit location 可以自定義快捷鍵。
  • 瀏覽位置跳轉(zhuǎn)(光標(biāo)停留位置) navigate →back(alt+向左箭頭)

1.3 項(xiàng)目區(qū)與代碼編輯區(qū)的相應(yīng)跳轉(zhuǎn)

  • 項(xiàng)目區(qū)跳到右邊代碼編輯區(qū)
    • 按ESC鍵
  • 代碼編輯區(qū)跳到左邊項(xiàng)目區(qū)
    • Alt+數(shù)字1

1.4 書簽之間的跳轉(zhuǎn)

  • 利用書簽跳轉(zhuǎn)
    • findaction→bookmarks→toggle bookmark(ctrl+shift+F11)
    • 帶標(biāo)記書簽 bookmarks→toggle bookmarks with Mnemonic(ctrl+alt+shift+F11)
    • 標(biāo)簽間跳轉(zhuǎn) 用ctrl+作標(biāo)記的數(shù)字(這里有個(gè)坑我按小鍵盤數(shù)字沒(méi)反應(yīng)枉昏,得按大鍵盤的數(shù)字才行)

1.5 收藏夾

  • 查看收藏夾 findaction→favorites(alt+2)
    • 可以看到我們的書簽陈肛、收藏夾。
    • 單獨(dú)添加到收藏夾(自定義收藏夾)
      • findaction → add to favorites(Alt+shift+F)
      • 我們可以光標(biāo)定位到某個(gè)函數(shù)兄裂、或是某個(gè)類添加到自定義的收藏夾中(add to new favorites list)

1.6 插件

  • 調(diào)插件頁(yè)面 findaction→輸入plugins
  • 1.神器 emacsIdeas 安裝
    • browse repositories →emacIdeas→install→restart idea(重啟Idea)
    • 配置emacsIdeas快捷鍵 settings/keymap/emacIdeas文件夾下AceJumpWord添加對(duì)應(yīng)的快捷鍵句旱。
      • 按下剛配置的快捷鍵比如我這里shift+alt+K →按下要找的數(shù)字→輸入任意高亮位置就跳轉(zhuǎn)到對(duì)應(yīng)位置了。

1.7 編輯區(qū)分屏

  • 垂直分屏
    • IntelliJ IDEA 支持對(duì)代碼進(jìn)行垂直或是水平分組晰奖,在打開(kāi)的文件Tab上打開(kāi)鼠標(biāo)右鍵菜單谈撒,選擇對(duì)應(yīng)的split vertically功能即可
  • 水平分屏
    • 設(shè)為split horizontally即可。

1.8 代碼格式化★

  • 部分代碼格式化
    • 選中要格式化代碼 ctrl+shift+F
  • 全部
    • 直接ctrl+shift+F

2.高速定位代碼

2.1 精準(zhǔn)搜索

    • 菜單欄 →Navigate →Class(Ctrl+shift+T) 其中include none..勾上就可以關(guān)聯(lián)到Jar包里所依賴的類匾南。
  • 文件
    • 菜單欄 navigate →file(ctrl+shift+r)
  • 符號(hào)
    • 菜單欄 navigate →symbol(ctrl+alt+shift+n)
  • 字符串
    • 菜單欄 edit→find→find in path(ctrl+H)

3.代碼小助手

3.1 列操作

  • 移動(dòng)到當(dāng)前單詞尾部
    • findaction →輸入move caret to next word(ctrl+向右箭頭)
  • 選中到當(dāng)前單詞尾部 (ctrl+shift+向右箭頭)
  • 當(dāng)前單詞設(shè)置大小寫切換
    • edit→toggle case(ctrl+shift+u)
  • 移動(dòng)到當(dāng)前行首
    • findaction→輸入move caret to line start(Home鍵)
  • 移動(dòng)到當(dāng)前行尾
    • findaction→輸入move caret to line end(End鍵)
  • 將當(dāng)前行的操作應(yīng)用到相似行進(jìn)行批量操作★
    • 菜單欄edit→find→select all occurrences(ctrl+alt+Y)
  • 格式化下代碼
    • 菜單欄code→reformat code

3.2 live Template★

  • main
    • findaction→輸入live templates→點(diǎn)擊右上角“+”

    • 輸入縮寫main 簡(jiǎn)介public static void main

    • 輸入方法體

       public static void main(String[] args){
           $END$
       }
      
    • 點(diǎn)擊define→勾選java

    • 輸入main敲下回車即可啃匿。

  • psfi
    • 輸入最終模板(右邊var1、var2確保輸入一個(gè)參數(shù)回車后跳到另一參數(shù)輸入)
      public static final int $var1$=$var2$;
      
    • 點(diǎn)擊define→勾選java
  • psfs
    • 輸入最終模板(右邊var1、var2確保輸入一個(gè)參數(shù)回車后跳到另一參數(shù)輸入)
      public static final String $var1$="$var2$";
      
    • 點(diǎn)擊define→勾選java
  • pic
    • 輸入模板 pic(private int 帶有注釋)
          /**
          * $var1$
          **/
          private int $var2$;
          $End$
      
    • 點(diǎn)擊define→勾選java
  • pi溯乒、ps(private int ..和private String..)設(shè)置同上夹厌,略。

3.3 postfix★

  • 使用此功能(神器,輸入一些東西加上"."后自動(dòng)轉(zhuǎn)換成想要的模板)
    • findaction→postfix completion→勾選enable postfix completion.
      • 找到j(luò)ava→fori可以查看實(shí)現(xiàn)原理(下面僅列出幾種常用的)裆悄。
  • for循環(huán)(fori)
  • 打印(sout)
  • field
    • 構(gòu)造方法中.field會(huì)自動(dòng)補(bǔ)充不存在的字段(詳見(jiàn)wqjavase項(xiàng)目idea包下的B.java)矛纹。
  • return
  • nn(判斷是否為空)

3.4 alt+enter智能提示

  • 快捷鍵
    • findaction→show intention actions(alt+anter)
  • list replace
  • 字符串format或者build
  • 實(shí)現(xiàn)接口
    • 新建接口→UserService→光標(biāo)定位到接口名稱→按下alt+anter
    • 選擇implement interface→輸入實(shí)現(xiàn)類名稱+選擇創(chuàng)建位置
    • 選擇實(shí)現(xiàn)接口中的方法即可生成。
  • 單詞拼寫
    • 如果單詞不記得如何拼寫可以選中再按下alt+anter選擇type change to它提示的英文單詞進(jìn)行矯正光稼。
  • 導(dǎo)包 ★
    • 通過(guò)提示手動(dòng)導(dǎo)包
      • 按下alt+anter即可(我喜歡這種)
    • 自動(dòng)導(dǎo)包
      • Settings→Editor→general→勾上auto import Optimize...

4.編寫高質(zhì)量代碼

4.1 重構(gòu)

  • 重構(gòu)變量
    • 選中要重構(gòu)的變量→菜單欄選擇refactor→rename(alt+shift+r)
  • 重構(gòu)方法
    • 選擇要重構(gòu)的方法名→菜單欄選擇refactor→change signature→輸入相關(guān)參數(shù)配置即可或南。
    • 另一種通過(guò)alt anter
      • 直接在調(diào)用時(shí)輸入要添加的參數(shù)→alt+anter→add 相應(yīng)參數(shù)至方法即可。
  • 抽取
    • 抽取變量
      • 選中字符串中的變量→refactor→extract→variable(alt+shift+L);
    • 抽取靜態(tài)變量
      • 選中字符串中變量→refactor→extract→Constant(ctrl+alt+c)
    • 抽取方法參數(shù)
      • 如果方法中有用到成員變量(如this.name)→refactor→extract→parameter(alt+ctrl+p)就可以將成員變量以入?yún)⒌男问絺鬟M(jìn)來(lái)钟哥。
    • 抽取函數(shù)
      • 將方法中的邏輯抽取為一個(gè)函數(shù)迎献。refactor→extract→Method(shift+alt+m)

5.尋找修改軌跡

5.1 git集成

  • annotate
    • 找出某行代碼作者是誰(shuí)
      • 在代碼行左側(cè)右擊annotate
  • 移動(dòng)所有改動(dòng)之處
    • findaction→previous changes(ctrl+alt+shift+向上箭頭)
  • 撤銷操作
    • findaction→revert(ctrl+z)

5.2 local history★

  • 顯示本地修改歷史記錄
    • findaction→local history→show history
    • 點(diǎn)擊箭頭可撤銷。
    • put label(類似commit提交注釋的功能)

6.關(guān)聯(lián)一切

6.1 與Spring的關(guān)聯(lián)

  • 視頻學(xué)習(xí)鏈接
  • 操作流程
    • file→project structure→facets→點(diǎn)擊“+”→Spring到項(xiàng)目→點(diǎn)左下角加號(hào)→再勾上Spring配置文件即可(可以看到Springbean被哪里定義等信息)腻贰。

6.2 與數(shù)據(jù)庫(kù)的關(guān)聯(lián)

  • 數(shù)據(jù)庫(kù)連接
    • view→tool windows→database
    • 按“+”→datasource→mysql→輸入數(shù)據(jù)庫(kù)名吁恍;用戶名、密碼測(cè)試連接出現(xiàn)Suqcessful即可播演。
    • 關(guān)聯(lián)sqlmap我就略過(guò)了冀瓦。

7.調(diào)試程序

7.1 斷點(diǎn)調(diào)試

  • 打斷點(diǎn)
    • run→toggle line breakpoint(ctrl+shift+B)
  • 運(yùn)行Debug模式
    • run→debug...(alt+shift+F9)或者按小蟲子
  • 按步運(yùn)行
    • step over(F6)
  • 跳過(guò)斷點(diǎn)
    • resume program(f8)
  • 查看所有斷點(diǎn)
    • run→view breakpoints(ctrl+shift+F8)
  • 禁止所有斷點(diǎn)
    • debug窗口中左側(cè)找到禁止標(biāo)志(mute breakpoints)→F8跳過(guò)所有斷點(diǎn)
  • 條件斷點(diǎn)
    • 在斷點(diǎn)上右擊出現(xiàn) condition 輸入條件(如s.equals("wuqingvika"))
  • 表達(dá)式求值
    • 查看值★
      • run→evaluate expression
  • 運(yùn)行到指定行
    • 在Debug窗口找到有個(gè)光標(biāo)圖標(biāo) run to cursor(ctrl+R)
  • setValue★
    • 在debug中只要選中要設(shè)置的變量按下F2設(shè)定想要設(shè)定的值即可。

7.2 任一處運(yùn)行

  • 運(yùn)行當(dāng)前上下文
    • findaction→debug context 就會(huì)運(yùn)行光標(biāo)就近處的方法
    • 注:如果光標(biāo)在中間 那么兩個(gè)都會(huì)運(yùn)行
  • 在當(dāng)前可運(yùn)行列表中選擇一個(gè)運(yùn)行
    • alt+shift+F9
  • 編輯當(dāng)前運(yùn)行
    • run→edit configurations→application→選擇某個(gè)應(yīng)用程序→在program arguments輸入?yún)?shù)信息

8.其他操作

8.1 文本操作

  • 復(fù)制文件名
    • 直接點(diǎn)擊文件名 Ctrl+c在文本編輯區(qū)ctrl+v即可写烤。
  • 復(fù)制文件全名
    • shift+ctrl+c 再ctrl+v即可翼闽。
  • 復(fù)制多個(gè)文件名
    • 多次ctrl+c 再shift+ctrl+v選擇要復(fù)制哪些文件名即可。
  • 結(jié)構(gòu)圖
    • 查看當(dāng)前field洲炊、method大綱
      • navigate→File Structure(ctrl+F3)
    • 查看maven依賴★
      • pom.xml→右擊Maven→show dependencies可以看到所有的依賴關(guān)系感局。
        • 可以按Ctrl+f進(jìn)行搜索
        • 可以右擊exclude進(jìn)行排除
    • 查看類圖★
      • 普通的子類名右擊Diagrams→Show diagram即可出現(xiàn)類圖。
    • 查看類繼承結(jié)構(gòu)★
      • findaction→hierarchy actions→hierarchy(alt+8)
    • 方法調(diào)用層次★
      • findaction→call hierarchy(ctrl+alt+H)

致謝

此總結(jié)源自慕課網(wǎng)視頻教程,感謝老師@閃電俠暂衡,受益匪淺询微!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市狂巢,隨后出現(xiàn)的幾起案子撑毛,更是在濱河造成了極大的恐慌,老刑警劉巖唧领,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藻雌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡斩个,警方通過(guò)查閱死者的電腦和手機(jī)胯杭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)受啥,“玉大人歉摧,你說(shuō)我怎么就攤上這事。” “怎么了叁温?”我有些...
    開(kāi)封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵再悼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我膝但,道長(zhǎng)冲九,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任跟束,我火速辦了婚禮莺奸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘冀宴。我一直安慰自己灭贷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布略贮。 她就那樣靜靜地躺著甚疟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪逃延。 梳的紋絲不亂的頭發(fā)上览妖,一...
    開(kāi)封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音揽祥,去河邊找鬼讽膏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拄丰,可吹牛的內(nèi)容都是我干的府树。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼料按,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼奄侠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起站绪,我...
    開(kāi)封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丽柿,沒(méi)想到半個(gè)月后恢准,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡甫题,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年馁筐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坠非。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡敏沉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盟迟,我是刑警寧澤秋泳,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站攒菠,受9級(jí)特大地震影響迫皱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辖众,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一卓起、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凹炸,春花似錦戏阅、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蚕键,卻和暖如春救欧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锣光。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工笆怠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人誊爹。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓蹬刷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親频丘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子办成,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容