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,從新格式代碼javascript

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:html

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,能夠幫助看其餘項目源碼的結構
相關文章
相關標籤/搜索