IDEA使用技巧


這篇博客是慕課網上視頻的學習筆記,手打出來方便日后查閱。原視頻地址

第一章 IDEA入門

1.1 Intellij IDEA下載

  1. 官網下載地址
    • Ultimate版本,所有的功能都完美的支持,收費
    • Community版本,開源免費,有些功能不支持

1.2 IDEA界面介紹

  1. IDEA的左側側邊欄有1:Project、7:Structure和2:Favorities 開發時,習慣全屏代碼區,當需要左側側邊欄時,無需使用鼠標,只需按住Alt+數字即可出現相應的側邊菜單。然后按下ESC就會把鼠標重新聚焦到代碼區。
    • Alt+1:Project
    • Alt+2:Favorities
    • Alt+4:Run
    • Alt+5:Debug
    • Alt+6:TODO
    • Alt+7:Structure
  2. Favorites功能:可以顯示工程中所有的斷點位置;收藏功能。

第二章 Find Action

  1. IDEA中Help下的Find Action可以幫助我們定位到各個指令。Find Action本身的快捷鍵是Ctrl+Shift+A

第三章 無處不在的跳轉

3.1 項目之間的跳轉

  1. 當使用IDEA同時打開多個項目協同開發時,可以使用快捷鍵進行跳轉:
    • Ctrl+Alt+右方括號跳轉到Next Project Window下一個項目窗口
    • 使用Ctrl+Alt+左方括號跳轉到Previous Project Window前一個項目窗口
    • 使用Ctrl+Shift+A輸入window project等關鍵字成功得到相應提示

3.2 文件之間的跳轉

  1. 在項目中文件很多的情況下,有時我們會想找到最近瀏覽過的文件
    • Ctrl+E可以找到Recent Files最近瀏覽過的文件
  2. 找到最近修改過的文件
    • Ctrl+Shift+E可以找到Recently Changed Files最近修改過的文件

3.3 瀏覽、修改位置的跳轉

  1. 使用Ctrl+Shift+Backspace可以跳轉到Last Edit Location最后修改過的位置
  2. Next Edit Loaction沒有默認快捷鍵
  3. 使用Ctrl+Alt+向左箭頭可以跳轉到Back光標之前停留過的地方
  4. 使用Ctrl+Alt+向右箭頭可以跳轉到Forward光標之后停留過的地方

3.4 利用書簽進行跳轉

  1. 當使用IDEA查看源碼時,可以對關注的代碼位置添加書簽
    • Ctrl+F11可以Toggle Bookmark with Mnemonic使用數字書簽標記位置
    • Ctrl+1..9可以跳轉到對應的書簽位置
  2. 可以某個類單獨添加書簽
    • Alt+Shift+F可以給某個類add to Favorites添加到Favorites中
      • Favorites中可以創建列表,例如把值得學習的代碼放到一個列表中
    • Alt+Shift+F可以給某個類的某個方法添加到Favorites中

3.5 跳轉插件emacsIDEAs

  1. 在編輯一個文件時,有時需要將光標跳轉到以某個字母開頭的位置如以s開頭,文件中有多個以s開頭的位置,這時,可以借助emacsIDEAs插件做到快捷跳轉
  2. 安裝插件,Ctrl+Shift+A,輸入plugins,到Browse Repositories中找到emacsIDEAs插件,Install,然后重啟IDEA
  3. 設置其快捷鍵,Ctrl+Shift+A,輸入keymaps,找到Manage keymaps
    • 選擇Plug-ins,在最下面找到emacsIDEAs,找到AceJumpWord
    • AceJumpWord 默認的快捷鍵為Meta+F,一般計算機鍵盤上並沒有這個鍵,需要另外添加快捷鍵
    • 右鍵,Add keyboard Shortcut,為其添加快捷鍵,我這里設置為Ctrl+J
    • 使用:如要跳轉到以p開頭的位置,先按住Ctrl+J,然后再輸入p,這時,emacsIDEAs插件會為文件的所有以p開頭的單詞進行編號,asdf…按下光標要跳轉到位置對應的字母即可

3.6 編輯區和文件區的跳轉

  1. 在代碼編輯區按Alt+1可以跳轉到文件區下,再按ESC就可以從文件區返回到編輯區

3.7 精准搜索

    • Ctrl+N,可以搜索到指定的Class類
    • Ctrl+N+N,可以搜索包含JAR包中的類
  1. 文件
    • Ctrl+Shift+N,可搜索到指定的File文件
  2. 符號
  3. Ctrl+Alt+Shift+N,可以搜索關鍵字,包括變量名、函數名和類名等。
  4. 字符串
    • 要搜索字符串,可以通過Ctrl+Shift+F來實現,有幾個選項:
      • Match case,是否匹配大小寫
      • Words,是否是一個單詞
      • Regex,通過正則表達式搜索
      • File mask,可以指定在哪個文件下搜索
        • In Project,在項目下搜索
        • Module,在模塊下搜索
        • Directory,在目錄下搜索
        • Scope,在指定區域內搜索,還可以自定義搜索區域

第四章代碼助手

4.1 列操作

  1. 光標選中相關操作
    • Shift+右箭頭,選中下一個位置,按住Shift並多次按方向鍵選中多個位置
    • Ctrl+右箭頭,Move Caret to Next Word把光標移動到下一個單詞
    • Ctrl+Shift+右箭頭,Move Caret to Next Word With Slection把光標移動到下一個單詞並選中
  2. 大小寫轉換
    • Ctrl+Shift+U,Toggle Case
  3. Home,Move Caret to Line Start將光標移動到本行開始的位置
  4. End,Move Caret to Line End將光標移動到本行最后的位置
  5. Ctrl+Alt+Shift+J,Select All Occurrences,選中所有相同的字符串,多光標操作
  6. F2,自動將光標定位到報錯的位置
  7. Ctrl+Alt+L,Reformat Code,重新格式代碼
  8. 案例,后台向前台傳遞響應狀態時,定義如下四種狀態,分別為響應成功、錯誤、需要登陸和非法參數
0: "success" 1: "error" 10: "need_login" 2: "illegal_argument"
  • 1
  • 2
  • 3
  • 4

現在要把狀態封裝成枚舉類,需要以下幾步: 1. 創建枚舉類ResponseCode,聲明兩個屬性code和desc並生成構造方法和get方法 2. 把上面四種狀態復制過來 3. 將光標選中到“:”,按Ctrl+Alt+Shift+J進行多光標操作,也可以用Alt+J,會依次選中下一個 4. 將全部的光標移動到雙引號后面的位置,按住Ctrl+Shift+右箭頭選中success等單詞,並按Ctrl+Shift+U將單詞轉換成大寫 5. Ctrl+C復制這些單詞,使用Home,將光標移動到行首,粘貼,輸入左括號,Ctrl+右箭頭,將光標移動到“:”前面 6. Ctrl+Shift+右箭頭,會選中“: ”,替換成“,” 7. 連續按三次Ctrl+右箭頭,或者直接按End鍵,將光標顯示到行的末尾,輸入“),” 8. 現在除了最后一行報錯,前面的三行就都完成了。ESC取消多光標操作,按F2光標會定位到報錯的位置,Shift+左箭頭,將最后一個枚舉的“,”換成“;” 9. Ctrl+Alt+L,Reformat Code,重新格式代碼

public enum ResponseCode { SUCCESS(0,"SUCCESS"), ERROR(1,"ERROR"), NEED_LOGIN(10,"NEED_LOGIN"), ILLEGAL_ARGUMENT(2,"ILLEGAL_ARGUMENT"); private final int code; private final String desc; ResponseCode(int code, String desc) { this.code = code; this.desc = desc; } public int getCode() { return code; } public String getDesc() { return desc; } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

4.2 live template

  • 可以使用Setting下的Live Templates定義常用的代碼模板,分為以下幾步:
    • 創建分組:點擊+按鈕下的Template Group,Create New Group,取組名為“方法”
    • 創建模板:在“方法”分組下,點擊+按鈕下的Live Templates創建模板。以main函數為例,下圖中Abbreviation為模板名稱,Description為模板注釋,Template text中的內容為模板,其中$END$表示最后光標停留位置,最后要點擊define,選擇Java表示這個模板定義為Java語言的模板

這里寫圖片描述 - 為public static void main定義模板 - Abbreviation:main     - Description:public static void main     - Template text:

public static void main(String[] args) { $END$ }
  • 1
  • 2
  • 3
  • 為public static final int定義模板
    • Abbreviation:psfi
    • Description:public static final int自定義(IDEA本身就提供了一個)
    • Template text:public static final int $var1$ = $var2$;使用時var1的內容輸入完成后按回車光標就直接到等號右邊var2了
  • 為public static final String定義模板
    • Abbreviation:psfs
    • Description:public static final String自定義(IDEA本身就提供了一個)
    • Template text:public static final String $var1$ = $var2$;
  • 為private int定義模板
    • Abbreviation:pi
    • Description:private int
    • Template text:
private int $VAR2$; $END$
  • 1
  • 2
  • 3
  • 為private int定義模板
    • Abbreviation:pic
    • Description:private int 有注釋
    • Template text:
/** * $VAR1$ */ private int $VAR2$; $END$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 為private String定義模板
    • Abbreviation:ps
    • Description:private String
    • Template text:
private String $VAR2$; $END$
  • 1
  • 2
  • 3
  • 為private String定義模板
    • Abbreviation:psc
    • Description:private String 有注釋
    • Template text:
/** * $VAR1$ */ private String $VAR2$; $END$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4.3 postfix

for (int i = 0; i < 100; i++) { }
  • 1
  • 2
  • 上面的for循環,只需輸入100.fori按回車就可以出來
  • 可以在Settings下的Postfix Completion查看有哪些后綴實現
常用的Postfix:
  • fori:for循環,例子:100.fori
  • sout:打印輸出,例子:new Date().sout
  • field:引入表達式字段,例子:
//當忘記聲明arg變量時,使用field public class Foo { public Foo(int arg) { arg.field } } //使用后,會自動生成屬性 public class Foo { private final int arg; public User(int arg) { this.arg = arg; } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • return:返回值,例子:
String m() { "result".return } String m() { return "result"; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • nn:檢查表達式是否為空,例子
void m(Object o) { o.nn } void m(Object o) { if (o != null){ } }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.4 Alt+Enter

  • 自動創建函數
public static void main(String[] args) { f1();//Alt+Enter就會自動創建出下面的函數 } private static void f1() { }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • List Replace
for (int i = 0; i < list.size(); i++) { String item = list.get(i); } //選中for循環按住alt+enter出現Replace with foreach for (String item : list) { } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 實現接口
  • 單詞拼寫
System.out.println("usernmea is jone");//username拼寫錯誤,單詞下會出現波浪線 //按下alt+enter,出現Typo Change to... //Intellij會給出一些建議的單詞 
  • 1
  • 2
  • 3
  • 4
  • 導包

第五章 編寫高質量代碼

5.1 重構

  • 重構變量,Shift+F6,Rename
  • 重構函數
    • Ctrl+F6,Change Signature,添加參數
    • 先在調用的地方添加實參,Alt+Enter

5.2 抽取

  • 抽取變量,Ctrl+Alt+V。Refactor->Extract->Variable
//抽取前
System.out.println("sun"); System.out.println("sun"); System.out.println("sun"); //抽取后 String sun = "sun"; System.out.println(sun); System.out.println(sun); System.out.println(sun);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 抽取成靜態常量,Ctrl+Alt+C
public static final String SUN = "sun"; public static void main(String[] args) { System.out.println(SUN); System.out.println(SUN); System.out.println(SUN); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 抽取成員變量,Ctrl+Alt+F
private static String sun; public static void main(String[] args) { sun = "sun"; System.out.println(sun); System.out.println(sun); System.out.println(sun); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 抽取函數,Ctrl+Alt+M

第六章 尋找修改軌跡

6.1 git的集成

  • annotate,注釋。在顯示行號的位置右擊,選中Annotate即可查看當前行代碼的commit、author和date

6.2 local history

  • show history,查看本地所有的更改
  • put label,做了更改后,為本次更改做個標記,再次show history可以看到左側的標簽

第七章 關聯一切

7.1 spring的關聯

  • File->Project Structure->Facets->+按鈕->Spring把接口和實現類對應起來,bean是在哪個文件掃描到的等

7.2 數據庫的關聯

  • 數據庫視圖,IDEA右側邊欄的Database->+按鈕->Data Source->選擇是那種數據庫->輸入主機、數據庫、用戶名、密碼、URL。
    • 書寫Mapper時,IDEA就會提示數據庫的相關信息(表名、列名)
    • 可以在視圖中重構表名、列名,Shift+F6

第八章 調試程序

8.1 斷點調試

  • 添加斷點,Toggle Line Breakpoint,Ctrl+F8
  • Debug方式啟動程序,Shift+F9
  • 單步運行,F8,Step Over
  • resume(重新開始,繼續),F9。會跳轉到下一個斷點,如果沒有斷點了,直接結束程序運行
  • 查看所有斷點,Ctrl+Shift+F8
  • 禁止所有斷點,Mute Breakpoint,然后按F9,就可以跳過余下的所有斷點了
  • 表達式求值,Alt+F8。可以對程序中的變量做一些操作如list.size等
  • 運行到指定行,從斷點運行的位置直接讓程序運行到光標所在的行,Run to Cursor,Alt+F9
  • setValue,在debug窗口,選中要設值得變量,F2,可以在調試時改變變量的值

第九章 其他操作

9.1 文件操作

  • Ctrl+Alt+Insert,快速創建類,文件等
  • 復制當前文件,F5,無需復制粘貼
  • 移動當前文件
    • 剪切、復制
    • F6

9.2 文本操作

  • 復制文件名:選中文件名,Ctrl+C
  • 復制文件完整路徑:Ctrl+Shift+C
  • Ctrl+[ OR ],可以跑到大括號的開頭與結尾
  • Alt+Insert,可以生成構造器/Getter/Setter等
  • Ctrl+Shift+Space,自動補全代碼
  • Alt+Shift+Up/Down,將代碼上/下移一行
  • Ctrl+X,刪除行
  • Ctrl+D,復制行

9.3 結構圖

  • 查看field、method大綱,File Structure,Ctrl+F12
  • 查看maven依賴大綱,pom.xml右擊->Maven->Show Dependency
  • 查看類圖大綱,找到代碼右鍵Diagrams或Ctrl+Alt+Shift+U
  • 查看類繼承結構,Ctrl+H
  • 查看當前函數調用了哪些其他函數,或當前函數被哪些函數調用,Ctrl+Alt+H,可以幫助看其他項目源碼的結構


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM