-
IDEA學習
## 跳轉(zhuǎn)
F2 跳至下一條報錯位置
CTRL shift A? 根據(jù)操作名查找快捷鍵
ctrl E 最近瀏覽得文件
ctrl shfit E 最近修改得文件
CTRL shift backspace? 跳轉(zhuǎn)到上一次編輯得位置
CTRL alt ? 跳轉(zhuǎn)到上一次瀏覽的位置,也就是上一次光標停留的位置
CTRL alt 跳回下一次瀏覽的位置
>利用書簽
CTRL F11? 標記書簽
利用CTRL+書簽號進行跳轉(zhuǎn)
>收藏文件/類
alt shift F 根據(jù)光標停留的位置是類名還是方法名來決定收藏文件還是方法
>插件 emacsIDEAs
安裝后在keymap中修改acejumpword的快捷鍵為
alt L
之后再代碼區(qū)按這個快捷鍵再加對應(yīng)的要跳轉(zhuǎn)的字母就可以了
>編輯區(qū)和文件區(qū)之間的跳轉(zhuǎn)
alt 1? /esc? 切換即可
## 精準搜索
CTRL N? 檢索類
CTRL shift N 檢索文件
CTRL shift alt N? 檢索符號/函數(shù)
CTRL shift F 檢索字符串
//move caret to next word
CTRL /? ?移動光標之下/上一個單詞
CTRL shift / 復制整個詞
CTRL shift U? 對選中單詞進行大小寫切換
CTRL alt L? 格式化代碼
**批量列操作 select all occurrences**
* 會選中所有結(jié)構(gòu)相同的行,進行批量操作
CTRL shift alt J
## live templates
模板,其中$包圍的VARn代表生成代碼后光標依次跳轉(zhuǎn)的位置,END/START代表開始與結(jié)束的位置
```
/*
* $var1$
*/
private int $var2$;
$END$
```
## postfix completion
>和livetemplates十分相似,但是不能自定義,只能用系統(tǒng)模板的格式
輸出b
```
b.sout
System.out.println(b);
```
返回.之前的值
```
?"result".return
?return "result";
?```
對目標數(shù)組進行遍歷
?```
int[] values = {1, 2, 3};
?values.iter
?for (int value : values) {
}
values.for
for (int value : values) {
}
```
判斷
```
b.if
if (b) {
}
```
進行foo次循環(huán)
```
遞減reduce
foo.forr
for (int i = foo; i > 0; i--) {
}
遞增increase
foo.fori
for (int i = 0; i < foo; i++) {
}
```
在當前作用域之外聲明并初始化一個變量? arg
```
public class Foo {
? public Foo(int arg) {
? ? arg.field
? }
}
public class Foo {
? ? private int foo;
? ? public Foo(int arg) {
? ? ? ? foo = arg;
? ? }
}
```
判斷對象o是否為null
```
o.nn
if (o != null){
}
```
## alt+Enter
1.自動創(chuàng)建函數(shù)
2.list replace
3.字符串format或者build
4.實現(xiàn)接口
5.單詞拼寫
## 重構(gòu)
1 重構(gòu)變量
shift F6
在代碼完成后對內(nèi)部出現(xiàn)的語義模糊的變量進行同步修改,提高代碼可讀性
2 重構(gòu)方法
alt Enter/? ctrl F6
在方法以外的地方增刪形參的時候,可以直接在原方法中同步修改
## 抽取?
1 抽取變量 variable
CTRL alt V
2 抽取靜態(tài)變量? constant
CTRL alt C
3 抽取成員變量 field
CTRL alt F
4 抽取方法參數(shù) parameter
CTRL alt P
5 抽取函數(shù) method
CTRL alt M
## local history
IDEA自帶的版本控制
也可以通過+label的方式commit一個版本
使用方法:CTRL shift A之后鍵入local history即可
## 數(shù)據(jù)庫的關(guān)聯(lián)
## 斷點調(diào)試
添加/取消斷點 CTRL F8
DEBUG模式運行 shift F9
之后按F8進行每一步的運行
resume??
F9 跳到下一個斷點/如果沒有斷點的話就結(jié)束程序的運行
查看所有斷點?
CTRL shift F8
如果當前光標所在行有斷點再按CTRL shift F8就是添加條件斷點
意為滿足指定條件時才進行停頓
>表達式求值
Evaluate Expression
在Debug模式下將光標停留在集合/數(shù)組名上按住
alt F8可以查看集合中的元素
>跳轉(zhuǎn)至指定行
alt F9
從斷點直接運行到光標所在行,省略中間運行過程的展示
>setValue
在debug模式下的variable窗口中對變量選中,按下F2.
可以動態(tài)改變變量的值;
運行當前上下文
CTRL shift F9
在當前列表中選擇一個運行
alt shift F9
編輯當前的運行
edit configuration
CTRL shift J
## 文件
當前目錄新建
CTRL alt ins
復制當前文件? copy
F5
移動當前文件 move
F6
## 文本
選中項目欄中類文件進行復制
CRTL (shift) C
調(diào)出剪切板選擇近幾次的復制
CRTL shift V
## 結(jié)構(gòu)圖
查看當前類中的方法和成員變量
crtl F12
>查看maven /類圖
1 pom文件中右鍵maven,show dependencies
CTRL alt shift U
2 類中查看繼承關(guān)系
CTRL alt shift U
>查看類繼承結(jié)構(gòu),方法調(diào)用層次
1 類結(jié)構(gòu)
CTRL H
2 方法調(diào)用層次,光標停留在目標方法上
CTRL alt H
查看全部 -
高效定位代碼
精準搜索:
類:ctrl+n:勾選后全局搜索(包含jar包內(nèi)的類)
文件:ctrl+shift+n 勾選后全局搜索文件(包含jar包內(nèi)的)
符號:ctrl+alt+shift+n 舉例:檢索類中的屬性或函數(shù)
字符串Find in path:ctrl+shift+f Match case(是否匹配大小寫),Words(是否匹配整個單詞),Regex?(匹配正則表達式),F(xiàn)ile mask(匹配文件類型)
in Project:在當前項目中搜索,Module:當前模塊中搜索,Directory:當前目錄下搜索,Scope:自定義
查看全部 -
Idea使用查看全部
-
MyBatis 關(guān)聯(lián)數(shù)據(jù)庫引用,帶有數(shù)據(jù)庫內(nèi)容的提示
查看全部 -
File Structure:查看當前文件的大綱Field,method:Ctrl+F12
查看maven 依賴,類圖:pom.xml里右擊--Maven--show Dependencies (jar包依賴圖中可以進行搜索)
在類的里邊,也可以看到繼承關(guān)系
查看類的繼承結(jié)構(gòu),方法的調(diào)用層次:
Hierarchy Class Son:Ctrl + H,繼承結(jié)構(gòu)。另一種方式:Diagram for Son。
Call Hierarchy:顯示方法的調(diào)用層次:
Caller Methods Hierarchy:誰調(diào)用這個方法
Callee Methods Hierarchy:這個方法調(diào)用誰了
查看全部 -
復制當前文件:F5 復制文件全路徑:ctrl + shift + c 打開剪切板:ctrl + shift + v
查看全部 -
新建文件 Ctrl + Alt + Insert
復制文件 F5
移動文件 F6查看全部 -
查詢幫助? ctrl + shift + A
添加書簽? ctrl + F11
轉(zhuǎn)到第n條書簽? ctrl + n
添加收藏 alt + shift + F
選中光標之后的代碼塊? ctrl + shift + [
選中之前的??????????? ctrl + shift + ]
瀏覽位置之間的切換 ctrl + alt + /->
編輯位置之間的切換? ctrl + shift + backspace
文件之間切換
查看最近打開的文件? ctrl + E
查看最近修改的文件 ctrl + shift + E
切換到下一個單詞?? ctrl? +? ->
?
精準搜索
搜索類名?? ctrl + N
搜索文件名? ctrl + shift + N
符號搜索(函數(shù)/屬性) ctrl + shift +alt+ N
?ctrl + shift + F
?
postfix
.sout
100.fori
變量.return
變量.nn
alt + enter
自動創(chuàng)建函數(shù)
字符串format或者build
實現(xiàn)接口? 在接口中 點擊 alt + enter
拼寫單詞
導包
?
?
重構(gòu)
shift + F6 選中所有相同的屬性,直接全部修改
ctrl + F6 修改函數(shù)標簽,添加刪除函數(shù)的形參
重構(gòu)參數(shù)? ctrl + alt + V 生成一個變量使得這些方法中使用的都是這個變量,便于維護和修改
抽取函數(shù) 將一些語句直接轉(zhuǎn)換成函數(shù)? alt + ctrl +M
?
?
?
文件相關(guān)操作
F6 切換文件包空間
ctrl + shift + v 打開剪貼板
ctrl+shift + C 復制文件的完整路徑
三鍵+ U 查看某個類的繼承結(jié)構(gòu)
查看某個方法的調(diào)用層次 ?ctrl + clt + H
查看全部 -
斷點調(diào)試
Toggle Line Breakpoint :添加斷點
單步運行:F8
Resume Program:F9
Breakpoints:查看所有斷點 Shift + Command + F8,
Mute Breakpoints:禁止所有斷點
條件斷點:Command+F8,用于多次循環(huán)中跳轉(zhuǎn)到指定的循環(huán)中。
Evaluate Expression:表達式求值
Run to Cursor:運行到指定行
setValue:動態(tài)改變運行時對象的值
查看全部 -
數(shù)據(jù)庫 在View--->Tool Windows--->Database
也可點擊左下角的小電腦圖標看看,沒有的話,下載收費版的工具
查看全部 -
關(guān)聯(lián)Spring
file--》project structure(ctrl+alt+shift+s)-->facets-->點擊加號-->選擇spring
02:23
?
查看全部 -
Local History (本地版本控制) 位置:Find Action搜索吧 功能:Idea提供的本地版本控制工具。 使用:Find Action搜索,然后選擇Local History,選擇Show History,會彈出一個窗口, 里面會記錄以前的更改歷史。 Put Label (打標記) 位置:搜索出Local History,選擇第二個Put Label。 功能:對應(yīng)上面版本控制工具,可以發(fā)布一個Label。也可以認為是打個標記。
查看全部 -
版本控制 Git
annotate? 選取一行代碼,在打斷點處,右擊選擇annotate
?? 2.移動所有改動之處
Ctrl +Alt + A輸入內(nèi)容 keymap 選Setting ,打開會有main menu
??? Navigate--->Next Change下一個修改地方 ?
???????????????????????? Previous Change上一個修改地方
? 3.撤銷,包括單個和項目改動之處?
?? Ctrl +Alt + A輸入內(nèi)容 keymap 選Setting ,查找Revert
???? 撤銷 Ctrl + Alt + Z? 回滾代碼到你上一次提交的狀態(tài)
4.local history? 本地版本控制
ctrl+alt+A 輸入內(nèi)容local history
查看全部 -
編寫高質(zhì)量代碼
重構(gòu)變量Rename:Shift+F6。語意清晰;
重構(gòu)方法:Refactor -- change signature
Add String as 2nd parameter to method ***
抽取變量: Refactor--Extract--Variable
抽取靜態(tài)變量:Refactor--Extract--Contant
抽取成員變量:Refactor--Extract--Field
抽取方法參數(shù):Refactor--Extract--Parameter
抽取函數(shù):Refactor--Extract--Method?
Replace all occurrences(地方)
查看全部 -
重構(gòu)
1.重構(gòu)變量?? Refactor--->Rename?? Shift+F6
將光標定位于要修改的單詞上,按shift+f6,將變量重構(gòu)成一個邏輯上清晰的變量
2.重構(gòu)方法??? Refactor--->Change Signature? Ctrl+F6
在定義方法上按下 Ctrl+F6 ,添加一個參數(shù)
public??void?sayHello(String?firstName){ }
或者在調(diào)用方法的地方? this.sayHello(firstName,lastName); 在調(diào)用的地方,直接添加一個參數(shù)后,光標置于參數(shù)上,按下alter+enter,選擇Add? 'String'?? as 2nd parameter to method 'sayHello'
查看全部
舉報