我要偷偷將這些IDEA的小技巧分享給你!
作者 | 明堯
來(lái)源 | Java旅途(ID:Javatrip)
推薦人 | Stephen
IDEA是目前市場(chǎng)上最好用的IDE,我說(shuō)的!

前幾年eclipse在市場(chǎng)上非常流行,因此大多數(shù)人都習(xí)慣了eclipse的一些快捷鍵。近年來(lái),隨著IDEA的興起,很多人都放棄了eclipse,進(jìn)而選擇了IDEA,但是有些人習(xí)慣將快捷鍵方式更換成eclipse的。這里我不建議這樣做,熟悉一套快捷鍵差不多一周時(shí)間就夠了,直接使用IDEA默認(rèn)的快捷鍵可以體驗(yàn)到更多隱藏的小技巧,下面我們一起來(lái)看看這些小技巧。
一、Postfix Completion相關(guān)技巧
Postfix Completion其實(shí)就是關(guān)于代碼補(bǔ)全的一些模板。我們可以在Settings—>Editor—>General—Postfix Completion中看到他的一些模板。下面我們一起看看常用的一些語(yǔ)法。

if相關(guān)
定義一個(gè)boolean類型的變量flag和一個(gè)String類型的變量name來(lái)進(jìn)行測(cè)試。
boolean?flag?=?true;
String?name?=?"Java旅途";
判斷條件成立
語(yǔ)法:
flag.if
效果:
if?(flag)?{}
判斷條件不成立
語(yǔ)法:
flag.else
效果:
if?(!flag)?{}
判斷條件等于null
語(yǔ)法:
string.null
效果:
if?(string?==?null)?{}
判斷條件不等于null
語(yǔ)法:
string.notnull?或者?string.nn
效果:
if?(string?!=?null)?{}
使用switch判斷
語(yǔ)法:
string.switch
效果:
switch?(string)?{}
使用while判斷
語(yǔ)法:
flag.while
效果:
while?(flag)?{}
for相關(guān)
定義一個(gè)String類型的數(shù)組來(lái)測(cè)試。
String[]?param?=?{"1","2","3"};
從第一個(gè)元素進(jìn)行遍歷
語(yǔ)法:
param.fori
效果:
for?(int?i?=?0;?i?從最后一個(gè)元素進(jìn)行遍歷
語(yǔ)法:
param.forr
效果:
for?(int?i?=?param.length?-?1;?i?>=?0;?i--)?{}
增強(qiáng)for循環(huán)
語(yǔ)法:
param.for?或者?param.iter
效果:
for?(String?s?:?param)?{}
變量相關(guān)
新定義一個(gè)User類,添加name和age兩個(gè)屬性用來(lái)測(cè)試。
public?class?User?{
????
????private?String?name?=?"Java旅途";
????private?int?age?=?18;
????
????public?User()?{}
????public?User(String?name,?int?age)?{
????????this.name?=?name;
????????this.age?=?age;
????}
}
創(chuàng)建一個(gè)對(duì)象
語(yǔ)法:
User.new
效果:
new?User();
創(chuàng)建一個(gè)局部變量
語(yǔ)法:
new?User().var
效果:
User?user?=?new?User();
創(chuàng)建一個(gè)全局變量
語(yǔ)法:
new?User().field
效果:
private?User?user;
user?=?new?User();
強(qiáng)制轉(zhuǎn)換對(duì)象類型,假如我們將將Object轉(zhuǎn)換為User
語(yǔ)法:
new?object.castvar
效果:
User?user?=?(User)?new?Object();
其他常用
返回語(yǔ)句
語(yǔ)法:
"".return
效果:
return?"";
打印語(yǔ)句
語(yǔ)法:
flag.sout
效果:
System.out.println(flag);
捕獲處理異常
語(yǔ)法:
new?User().try
效果:
try?{
????new?User();
}?catch?(Exception?e)?{
????e.printStackTrace();
}
拋出異常
語(yǔ)法:
new?Exception().throw
效果:
throw?new?Exception();
給變量加鎖
語(yǔ)法:
string.synchronized
效果:
synchronized?(string)?{}
二、inject language
inject language可以快速幫助我們構(gòu)建我們所需要的一些語(yǔ)法。比如JSON、HTML、XML等等。
快速定義JSON
如果們自己去定義一個(gè)json字符串則需要手動(dòng)的去用\給”轉(zhuǎn)義。我們使用inject language則可以省去這個(gè)步驟。我們定義一個(gè)json的字符串,將光標(biāo)放在“”中間,然后按Alt+Enter,出來(lái)如下提示后,選擇Inject language or reference。

然后點(diǎn)擊Enter進(jìn)入后,選擇或搜索JSON后回車。然后繼續(xù)按Alt+Enter,出來(lái)如下提示后,我們選擇Edit JSON Fragment。

回車后,會(huì)彈出一個(gè)輸入框。我們?cè)谳斎肟蛑袑懳覀兊?code style="font-size: 14px;overflow-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(40, 202, 113);">JSON就可以了,它會(huì)自動(dòng)幫我們轉(zhuǎn)義。

使用html等其他也是一樣的方法,它會(huì)自動(dòng)幫我們補(bǔ)全結(jié)束標(biāo)簽。
幾個(gè)神秘的快捷鍵
快速重命名
Shift+F6
定位到最近瀏覽過(guò)的文件
Ctrl+E
定位到最近修改過(guò)的文件
Ctrl+Shift+E
查看當(dāng)前類所有的method
Ctrl+F12
查看類圖
Ctrl+Shift+Alt+U?
????喜歡文章,點(diǎn)個(gè)在看?
喜歡就三連呀
關(guān)注 Stephen,一起學(xué)習(xí),一起成長(zhǎng)。
