前言
正所謂工欲善其事必先利其器簸州,對(duì)開(kāi)發(fā)人員而言若想提高編碼效率谨敛,一款高效的開(kāi)發(fā)工具是必不可少的尊蚁,相信看到該博客的朋友們都已經(jīng)對(duì)IntelliJ IDEA有所了解了,所以此處就不對(duì)IntelliJ IDEA進(jìn)行介紹吃嘿,而是直接闡述在實(shí)際開(kāi)發(fā)中應(yīng)用場(chǎng)景祠乃。博主使用的IntelliJ IDEA版本為IntelliJ IDEA 2017梦重,因?yàn)椴┲魇且幻鸍ava開(kāi)發(fā)工程師,所以以下內(nèi)容均以Java為主亮瓷。(相信有不少人和我一樣是從Eclipse轉(zhuǎn)粉IntelliJ IDEA琴拧,在學(xué)習(xí)IntelliJ IDEA前請(qǐng)盡量忘記Eclipse有關(guān)知識(shí))在學(xué)習(xí)過(guò)程中主要參考了https://github.com/judasn/IntelliJ-IDEA-Tutorial,該教程對(duì)IntelliJ IDEA介紹十分詳細(xì)嘱支,你們可以直接點(diǎn)擊以上鏈接進(jìn)行學(xué)習(xí)艾蓝。至于為什么寫(xiě)這篇博文,我的目的是想把自己的個(gè)性化配置記錄下來(lái)斗塘,當(dāng)然如果與此同時(shí)能幫助到其他人赢织,豈不美哉,本文將持續(xù)更新馍盟,由于本文內(nèi)容較多建議讀者從目錄樹(shù)上定位想要獲取的配置信息
關(guān)閉Intellij IDEA自動(dòng)更新
在File->Settings->Appearance & Behavior->System Settings->Updates下取消Automatically check updates for勾選
IntelliJ IDEA項(xiàng)目會(huì)自動(dòng)生成一個(gè).idea文件夾和.iml文講于置,看著實(shí)在是礙眼,所以對(duì)以上文件進(jìn)行隱藏處理
在File->Settings->Editor->File Types下的”Ignore files and folders”一欄添加 *.idea;*.iml;等配置如下圖所示
編輯器風(fēng)格修改個(gè)人并不推薦完全由自己來(lái)配置贞岭,因?yàn)榫W(wǎng)上提供了很多優(yōu)秀的主題風(fēng)格八毯,我們可以導(dǎo)入自己喜歡的主題,然后在其基礎(chǔ)上進(jìn)行微調(diào)瞄桨,推薦主題下載網(wǎng)站http://www.riaway.com话速,安裝下載主題步驟:
1.從主菜單打開(kāi)你的編輯器選擇File->ImportSetting.選擇你下載的Jar文件;
2.等待重啟之后進(jìn)行配置打開(kāi)File->Settings->Editor->Colorsandfonts 然后選擇你安裝的主題即可完成;
設(shè)置第一字體和第二字體,修改字體大小:
自行去網(wǎng)上下載相應(yīng)字體安裝后重啟Intellij IDEA芯侥,在主菜單下選擇File->Settings->Editor->Colors & Fonts -> Font
show only monospaced fonts表示篩選顯示系統(tǒng)上的等寬字體泊交,由于Windows系統(tǒng)上等寬字體并不多,勾選此選項(xiàng)出現(xiàn)的下拉字體可選擇就很少柱查,取消勾選之后廓俭,就可以顯示系統(tǒng)上所有已安裝的字體。我是按教程推薦配置唉工,英文字體選擇Monaco研乒,此字體不支持中文,所以把這個(gè)設(shè)置為第一字體淋硝,第二字體使用Yahei Consolas Hybrid雹熬,該字體含有中文。字體大小我是修改為20谣膳,配置如下圖所示:
控制臺(tái)輸出字體和上述類(lèi)似 此處不進(jìn)行說(shuō)明(控制臺(tái)輸出亂碼即通過(guò)配置字體解決)
File->Settings->Editor->File Encodings
推薦設(shè)置
GlobalEncoding:UTF-8
ProjecttEncoding:UTF-8
Defaultencodingforpropertiesfiles:UTF-8
勾選上Transparentnative-to-ascii conversion
Transparent native-to-ascii conversion屬性主要用于轉(zhuǎn)換ascii竿报,不然Properties文件的中文會(huì)被轉(zhuǎn)碼,IntelliJ IDEA除了支持對(duì)整個(gè)Project設(shè)置編碼之外参歹,還支持對(duì)目錄仰楚、文件進(jìn)行編碼設(shè)置。如果你要對(duì)目錄進(jìn)行編碼設(shè)置的話,可能會(huì)出現(xiàn)需要Convert編碼的彈出操作選擇僧界,強(qiáng)烈建議在轉(zhuǎn)換之前做好文件備份侨嘀,不然可能出現(xiàn)轉(zhuǎn)換過(guò)程變成亂碼,無(wú)法還原捂襟。對(duì)單獨(dú)文件的編碼修改還可以點(diǎn)擊右下角的編碼設(shè)置區(qū)咬腕,如果代碼內(nèi)容中包含中文掷漱,則會(huì)彈出演示中的操作選擇腊凶,Reload 表示使用新編碼重新加載,新編碼不會(huì)保存到文件中抡四,重新打開(kāi)此文件宠漩,舊編碼是什么依舊還是什么举反,Convert 表示使用新編碼進(jìn)行轉(zhuǎn)換,新編碼會(huì)保存到文件中扒吁,重新打開(kāi)此文件火鼻,新編碼是什么則是什么。個(gè)人編碼配置如下圖所示:
1.修改類(lèi)注釋模板
在File->Settings->Editor->File and Code Templates下分別修改Class雕崩,Interface魁索,Enum等注釋模板,Class模板部分修改如下盼铁,其余的舉一反三進(jìn)行修改粗蔚。以下所示的${DESCRIPTION}是自定義變量,會(huì)在創(chuàng)建類(lèi)時(shí)請(qǐng)求輸入
/**
? * Copyright (C), 2015-${YEAR}, XXX有限公司
? * FileName: ${NAME}
? * Author:? ${USER}
? * Date:? ? ${DATE} ${TIME}
? * Description: ${DESCRIPTION}
? * History:
? * <author>? ? ? ? ? <time>? ? ? ? ? <version>? ? ? ? ? <desc>
? * 作者姓名? ? ? ? ? 修改時(shí)間? ? ? ? ? 版本號(hào)? ? ? ? ? ? ? 描述
? */
#if(${PACKAGE_NAME} && ${PACKAGE_NAME} !="")
package${PACKAGE_NAME};
#end
/**
* 〈一句話功能簡(jiǎn)述〉<br>
* 〈${DESCRIPTION}〉
*
*@author ${USER}
*@create ${DATE}
*@since 1.0.0
*/
publicclass ${NAME} {
}
類(lèi)注釋模板修改配置圖
類(lèi)注釋模板修改效果圖
2.方法注釋模板修改
在File->Settings->Editor->Live Templates下添加自定義Template Group饶火,并在自定義Template Group下添加自定義Template鹏控,具體配置如下圖所示
詳細(xì)配置參數(shù)
Template text內(nèi)容如下:
/**
* 功能描述: <br>
* 〈$END$〉
*
$param$
*@return:$return$
*@since: 1.0.0
*@Author:$user$
*@Date: $DATE$ $TIME$
*/
Edit Template Variables請(qǐng)求參數(shù)部分內(nèi)容如下:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')}; return result", methodParameters())
在完成如上配置后,只需在方法內(nèi)執(zhí)行/**+Enter鍵即可生成注釋?zhuān)杏涍@里說(shuō)的是方法內(nèi)部趁窃,因?yàn)閙ethodParameters()的作用域只在方法內(nèi)部牧挣,這也是Intellij IDEA比較蛋疼的一點(diǎn),博主在網(wǎng)上找了很久也沒(méi)發(fā)現(xiàn)一個(gè)好的解決方案醒陆,網(wǎng)上也有人推薦使用JavaDOC插件生成注釋,有興趣的朋友也可以嘗試一下
方法注釋模板修改效果圖
代碼格式化的快捷鍵為Ctrl+Alt+L,如果在類(lèi)中執(zhí)行代碼格式化則會(huì)對(duì)代碼進(jìn)行排版裆针,若焦點(diǎn)在類(lèi)或者文件夾上刨摩,則會(huì)彈出格式化選項(xiàng)提示框,彈出框如下圖所示:
Includesubdirectories:是否對(duì)子目錄也進(jìn)行格式化
Optimizeimports:優(yōu)化導(dǎo)入的類(lèi)和包
Rearrangeenries:對(duì)代碼順序進(jìn)行調(diào)整(將Filed放在Method前邊)
Filters即配置過(guò)濾條件世吨,表示對(duì)哪些文件進(jìn)行格式化
在Intellij IDEA一次只能導(dǎo)入單個(gè)包澡刹,沒(méi)有像Eclipse快速導(dǎo)入包的快捷鍵Ctrl+Shift+O,但是Intellij IDEA下有個(gè)自動(dòng)導(dǎo)入包的功能耘婚。在File->Settings->Editor->General->Auto Import下進(jìn)行配置罢浇,具體配置如下如所示:
Insertimportsonpaste:復(fù)制代碼的時(shí)候,對(duì)于導(dǎo)入的包是否需要進(jìn)行詢問(wèn)的一個(gè)選項(xiàng)。
? ? ASK(有需要導(dǎo)入的包名時(shí)會(huì)彈提示框嚷闭,問(wèn)你要不要導(dǎo)入)
NONE(有需要導(dǎo)入的包名時(shí)不會(huì)彈提示框攒岛,也不會(huì)自動(dòng)導(dǎo)入)
ALL(有需要導(dǎo)入的包名時(shí)會(huì)自動(dòng)導(dǎo)入,不會(huì)彈提示框)
Showimportpopup:當(dāng)輸入的類(lèi)的聲明沒(méi)被導(dǎo)入時(shí)胞锰,會(huì)彈出一個(gè)選擇的對(duì)話框
Optimizeimportsonfly:自動(dòng)優(yōu)化包導(dǎo)入灾锯,移除不需要的包
Addunambiguous importsonthe fly:這個(gè)就是自動(dòng)導(dǎo)入功能了,當(dāng)你輸入類(lèi)名后聲明就被自動(dòng)導(dǎo)入了
ExcludefromImportandCompletion:這個(gè)其實(shí)就是你自定義import,可以不用關(guān)注嗅榕,一般來(lái)說(shuō)你是用不上的
在File->Settings->Build,Execution,Deployment->Build Tools->Maven下對(duì)Maven進(jìn)行配置顺饮,個(gè)人配置如下圖所示
user settingsfile:指定Maven的settings.xml位置
localrepository:指定Maven的本地倉(cāng)庫(kù)位置,是讀取settings.xml自動(dòng)配置的
maven homedirectory:指定本地Maven的安裝目錄所在凌那,因?yàn)槲乙呀?jīng)配置了MAVEN_HOME系統(tǒng)參數(shù)兼雄,所以直接這樣配置IntelliJ IDEA 是可以找到的,但是假如你沒(méi)有配置的話帽蝶,這里可以選擇你的Maven安裝目錄
VM optionsforimporter:可以設(shè)置導(dǎo)入的VM參數(shù)君旦,一般這個(gè)都不需要主動(dòng)改,除非項(xiàng)目真的導(dǎo)入太慢了我們?cè)僭龃蟠藚?shù)
ImportMaven projectsautomatically:表示IntelliJ IDEA會(huì)實(shí)時(shí)監(jiān)控項(xiàng)目的pom.xml文件進(jìn)行項(xiàng)目變動(dòng)設(shè)置嘲碱,建議進(jìn)行勾選
Sources和Documentation:表示在Maven導(dǎo)入依賴包的時(shí)候是否自動(dòng)下載源碼和文檔金砍,默認(rèn)是沒(méi)有勾選的也不建議勾選,原因是這樣可以加快項(xiàng)目從外網(wǎng)導(dǎo)入依賴包的速度麦锯,如果我們需要源碼和文檔的時(shí)候我們到時(shí)候再針對(duì)某個(gè)依賴包進(jìn)行聯(lián)網(wǎng)下載即可恕稠,IntelliJ IDEA 支持直接從公網(wǎng)下載源碼和文檔的
1.創(chuàng)建父工程(不需要使用模板)
創(chuàng)建完父工程后刪除父工程的src目錄,該目錄在聚合項(xiàng)目中無(wú)用
2.添加非web子模塊
3.添加web子模塊(使用maven web項(xiàng)目模板)
4.創(chuàng)建完查看工程目錄結(jié)構(gòu)如下
5.打開(kāi)pom.xml文件 觀察pom.xml文件的變化
默認(rèn)情況下Intellij IDEA關(guān)閉了繼承了Java.io.Serializable的類(lèi)生成serialVersionUID的警告鹅巍,如果需要提示生成serialVersionUID,那么需要做以下設(shè)置:在File->Settings->Editor->Inspections下勾選中Java->Serialization issues->Serializable class without ‘serialVersionUID’料祠,將光標(biāo)放到類(lèi)名上按Atl+Enter鍵就會(huì)提示生成serialVersionUID了
在File->Settings->Editor->General->Code Completion下設(shè)置Case sensitive completion為none
現(xiàn)在版本控制都有對(duì)應(yīng)的優(yōu)秀免費(fèi)的開(kāi)源客戶端骆捧,而且穩(wěn)定性更好。更多時(shí)候我們希望IDEA只是作為開(kāi)發(fā)工具使用髓绽,而不參與版本控制敛苇,在File->Settings->Version Control下設(shè)置VCS為none即可脫離IDEA版本控制,配置如下
Key promoter是在你通過(guò)非快捷鍵方式使用某功能時(shí) 為你提供快捷鍵建議 在開(kāi)始記不住快捷鍵的情況下 強(qiáng)烈推薦安裝
翻譯插件 TranslationPlugin,支持支持中英互譯顺呕、單詞朗讀,詳細(xì)安裝文檔請(qǐng)參考:TranslationPlugin介紹與安裝手冊(cè)
JRebel熱部署插件安裝和使用請(qǐng)參考:JRebel熱部署插件安裝和使用
Maven 輔助插件 用于查找Maven依賴沖突非常好用的一款插件 安裝步驟請(qǐng)參考:Maven Helper安裝使用
在開(kāi)發(fā)SpringBoot項(xiàng)目時(shí)枫攀,會(huì)需要把Properties的配置格式改為 YAML格式,Properties to YAML Converter提供了很好的支持
詳細(xì)安裝和使用請(qǐng)參考:阿里巴巴代碼規(guī)范插件p3c-pmd
IntelliJ IDEA提供了豐富的快捷鍵組合來(lái)加快開(kāi)發(fā)效率株茶,但是快捷鍵太多琳瑯滿目也會(huì)給人無(wú)從下手的感覺(jué)来涨。下面是我個(gè)人整理的在開(kāi)發(fā)過(guò)程中必備的快捷鍵,(注:IDEA快捷鍵可能會(huì)與其他軟件快捷鍵產(chǎn)生沖突启盛,在開(kāi)發(fā)過(guò)程中有必要進(jìn)行取舍)此外IntelliJ IDEA 官方提供了學(xué)習(xí)IDEA快捷鍵的一個(gè)插件:IDE Features Trainer:https://plugins.jetbrains.com/plugin/8554?pr=idea蹦掐,大家可以自行去插件庫(kù)下載學(xué)習(xí)
快捷鍵介紹
Ctrl + B進(jìn)入光標(biāo)所在的方法/變量的接口或是定義處技羔,等效于Ctrl + 左鍵單擊
Ctrl + D復(fù)制光標(biāo)所在行或復(fù)制選擇內(nèi)容,并把復(fù)制內(nèi)容插入光標(biāo)位置下面
Ctrl + F在當(dāng)前文件進(jìn)行文本查找
Ctrl + H查看類(lèi)的繼承結(jié)構(gòu)
Ctrl + N通過(guò)類(lèi)名定位文件
Ctrl + O快速重寫(xiě)父類(lèi)方法
Ctrl + P方法參數(shù)提示
Ctrl + Y刪除光標(biāo)所在行或刪除選中的行
Ctrl + W遞進(jìn)式選擇代碼塊
Ctrl + Z撤銷(xiāo)
Ctrl + 1,2,3…9定位到對(duì)應(yīng)數(shù)值的書(shū)簽位置 結(jié)合Ctrl + Shift + 1,2,3…9使用
Ctrl + F1在光標(biāo)所在的錯(cuò)誤代碼出顯示錯(cuò)誤信息
Ctrl + F12彈出當(dāng)前文件結(jié)構(gòu)層卧抗,可以在彈出的層上直接輸入進(jìn)行篩選
Ctrl + Space基礎(chǔ)代碼補(bǔ)全默認(rèn)在Windows系統(tǒng)上被輸入法占用藤滥,需要進(jìn)行修改,建議修改為Ctrl + 逗號(hào)
Ctrl + /注釋光標(biāo)所在行代碼颗味,會(huì)根據(jù)當(dāng)前不同文件類(lèi)型使用不同的注釋符號(hào)
快捷鍵介紹
Alt + Q彈出一個(gè)提示超陆,顯示當(dāng)前類(lèi)的聲明/上下文信息
Alt + Enter根據(jù)光標(biāo)所在問(wèn)題,提供快速修復(fù)選擇
快捷鍵介紹
Shift + F3在查找模式下浦马,定位到上一個(gè)匹配處
快捷鍵介紹
Ctrl + Alt + B在某個(gè)調(diào)用的方法名上使用會(huì)跳到具體的實(shí)現(xiàn)處
Ctrl + Alt + L格式化代碼 可以對(duì)當(dāng)前文件和整個(gè)包目錄使用
Ctrl + Alt + M快速抽取方法
Ctrl + Alt + O優(yōu)化導(dǎo)入的類(lèi)和包 可以對(duì)當(dāng)前文件和整個(gè)包目錄使用
Ctrl + Alt + T對(duì)選中的代碼彈出環(huán)繞選項(xiàng)彈出層
Ctrl + Alt + V快速引進(jìn)變量
Ctrl + Alt + F7尋找類(lèi)或是變量被調(diào)用的地方时呀,以彈出框的方式顯示
Ctrl + Alt + 左方向鍵退回到上一個(gè)操作的地方
Ctrl + Alt + 右方向鍵前進(jìn)到上一個(gè)操作的地方
快捷鍵介紹
Ctrl + Shift + F根據(jù)輸入內(nèi)容查找整個(gè)項(xiàng)目或指定目錄內(nèi)文件
Ctrl + Shift + H查看方法的繼承結(jié)構(gòu)
Ctrl + Shift + J自動(dòng)將下一行合并到當(dāng)前行末尾
Ctrl + Shift + N通過(guò)文件名定位打開(kāi)文件/目錄,打開(kāi)目錄需要在輸入的內(nèi)容后面多加一個(gè)正斜杠
Ctrl + Shift + R根據(jù)輸入內(nèi)容替換對(duì)應(yīng)內(nèi)容晶默,范圍為整個(gè)項(xiàng)目或指定目錄內(nèi)文件
Ctrl + Shift + U對(duì)選中的代碼進(jìn)行大/小寫(xiě)輪流轉(zhuǎn)換
Ctrl + Shift + W遞進(jìn)式取消選擇代碼塊
Ctrl + Shift + Z取消撤銷(xiāo)
Ctrl + Shift + /代碼塊注釋
Ctrl + Shift + +展開(kāi)所有代碼
Ctrl + Shift + -折疊所有代碼
Ctrl + Shift + 1,2,3…9快速添加指定數(shù)值的書(shū)簽
Ctrl + Shift + F7高亮顯示所有該選中文本谨娜,按Esc高亮消失
Ctrl + Shift + Space智能代碼提示
Ctrl + Shift + Enter自動(dòng)結(jié)束代碼,行末自動(dòng)添加分號(hào)