一荚斯、概述
毋庸置疑 IntelliJ IDEA 已經(jīng)成為 Java 開發(fā)最好用的開發(fā)工具灼卢,這篇文章主要記錄自己使用 idea 開發(fā)過程中的一些常用配置,主要是根據(jù)自己的開發(fā)習(xí)慣進(jìn)行的配置,記錄這篇文章的目的是為了便于自己查詢配置贮庞,并且希望對看這篇文章的小伙伴提供一些參考蹄葱。
說明:我這里使用的 idea版本是 IntelliJ IDEA 2021.1.1 (Ultimate Edition)氏义,不同的版本配置稍有不同,可以根據(jù)自己使用的具體版本進(jìn)行更改图云。
二惯悠、idea 常用配置
這里就不介紹 idea 的下載或者激活的方法了,百度一下你就知道竣况。這里對 idea 的設(shè)置原則是盡量保持默認(rèn)設(shè)置克婶,除了自己需要的設(shè)置,其他設(shè)置一律保持默認(rèn),個人覺得 idea 只是一個開發(fā)工具情萤,怎么用的順手怎么設(shè)置鸭蛙,但是要以提高自己的開發(fā)效率為目的。
1筋岛、設(shè)置 idea 的主題顏色
點擊 File --> Settings --> Appearance --> Theme
個人喜歡白色的主題顏色娶视,可以根據(jù)自己的喜好選擇對應(yīng)的主題色,如下圖所示:
2泉蝌、設(shè)置字體大小和字符編碼
-
設(shè)置字體大小
點擊 File --> Settings --> Editor --> Font
字體大小根據(jù)個人電腦的屏幕進(jìn)行設(shè)置歇万,我這里設(shè)置的大小是:18。
設(shè)置文件編碼
點擊 File --> Settings --> Editor --> File Encodings
從上圖可以看到配置編碼的地方有4個:
1勋陪、Global Encoding:UTF-8
2贪磺、Project Encoding: UTF-8
3、File/Directory Encoding: UTF-8
4诅愚、Properties files Encoding:UTF-8
前三個是配置項目中文件的編碼寒锚,不包括 properties 配置文件,這三個選項存在優(yōu)先級违孝,高優(yōu)先級的覆蓋低優(yōu)先級的刹前,也就是說如果文件有指定編碼就使用指定的編碼,如果沒有指定雌桑,則使用父目錄或者項目的編碼喇喉。
可以看到File/Directory Encoding中配置了整個項目的根目錄為UTF-8。
一般這三個配置我們一般都不用管校坑,idea會自動配置File/Directory Encoding: UTF-8拣技。
另外就是 properties 文件的單獨配置,默認(rèn)情況下跟隨系統(tǒng)耍目。
Transparent native-to-ascii conversion 這個選項是否勾選膏斤,官方文檔說明如下圖:
idea 官方文檔說明地址:https://www.jetbrains.com/help/idea/encoding.html#file-encoding-settings
Transparent native-to-ascii conversion 直接翻譯過來就是透明的將本地編碼轉(zhuǎn)換成 ascii 編碼,從官方文檔的說明好像沒有看懂邪驮,查閱一些資料解釋說明如下:
idea項目的 properties 文件編碼默認(rèn)跟隨系統(tǒng)莫辨,windows 下為 gbk,但是 java 程序讀取 properties 時以 UTF-8 格式讀取毅访,編碼不兼容呈現(xiàn)出亂碼沮榜,所以將 properties 文件改為 UTF-8 編碼即可解決問題。 另一種解決方案是使用 native-to-ascii 功能喻粹,將輸入的字符轉(zhuǎn)換為 unico 碼表中的碼位敞映,或者說 unico 值,例如 \u0041
表示英文字母 a磷斧。這些 unico 值均為 ascii 碼表中的字符振愿,因為 ascii 部分的字符編碼在 gbk 和 unico 中是兼容的捷犹,所以即使 properties 文件是 gbk 編碼的,java 程序也能正確的讀取出這些 unico 值冕末,并找到對應(yīng)字符萍歉。 最簡單的理解方式: 漢字字符轉(zhuǎn)換成 unico 碼位存儲到 gbk 編碼的文件中, java 再通過這些碼位找到對應(yīng)的漢字字符档桃,從而解決編碼兼容問題枪孩。
一般情況下我們需要同時設(shè)置文件編碼為UTF-8并勾選復(fù)選框,或者設(shè)置文件編碼為ISO-8859-1也是可以的藻肄。
3蔑舞、設(shè)置自定義注釋模板
定義類注釋模板
點擊 File --> Settings --> Editor --> File and Code Templates
選擇 Class 查看如下圖所示:
下圖中的
File Header
就是對應(yīng)上圖中的 #parse("File Header.java")
,默認(rèn)情況下沒有內(nèi)容嘹屯,下圖是自定義的模板內(nèi)容:自定義模板內(nèi)容如下:
/**
* ${describe}
*
* @name ${NAME}
* @author ${USER}
* @date ${YEAR}-${MONTH}-${DAY} ${TIME}
*/
上面的模板保存之后攻询,創(chuàng)建一個新的 Java 文件,就會在文件頭部顯示注釋信息州弟,如下圖所示:
這里的 @name
和 @date
被 idea 標(biāo)注為黃色钧栖,顯示警告信息為 Wrong tag
,也就是說 idea 不能識別這個標(biāo)簽婆翔,對于有強迫癥的開發(fā)者來說拯杠,不能容忍這種提示標(biāo)記,如何消除這個標(biāo)記呢啃奴?可以根據(jù)提示點擊 Add date to custom tags
潭陪,之后這個黃色的標(biāo)記就沒有了,idea 將這個自定義的標(biāo)簽添加到了 Java doc 的自定義標(biāo)簽中最蕾,我們有自定義的標(biāo)簽也可以添加到這里依溯,用逗號分隔,如下圖所示:
定義方法注釋模板
點擊 File --> Settings --> Editor --> Live Templates
idea 默認(rèn)提供了非常多的快捷方式揖膜,比如在程序中輸入 sout
誓沸,實際上會輸出 System.out.println()
梅桩,使用這些快捷方式能夠極大的提高我們的開發(fā)效率壹粟,具體使用可以查看快捷方式的具體實現(xiàn),如下圖所示:
接下來介紹自定義方法的注釋模板
模板內(nèi)容 Template text 如下所示:
**
*
* @author $user$
* @date $date$ $time$
$params$
* @return $return$
*/
方法注釋模板的可應(yīng)用范圍選擇 Java 如下圖所示:
模板中的變量定義如下圖所示:
其中 params
變量的 groovy 腳本的內(nèi)容如下所示:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(i == 0) result += '* @param ' + params[i] + ' ' + ((i < params.size() - 1) ? '\\n' : '');else result += ' * @param ' + params[i] + ' ' + ((i < params.size() - 1) ? '\\n' : '')}; return result", methodParameters())
按照上面的步驟配置完成之后宿百,就可以在方法上面輸入 add 關(guān)鍵字趁仙,就會出現(xiàn)提示,效果如下圖:
生成的方法注釋效果如下圖:
4垦页、idea 安裝常用插件
idea 常用插件說明:
- GenerateAllSetter: 一鍵生成 getter/setter (選擇創(chuàng)建的對象 -> alt + enter -> Generate all setter with no default value)雀费。
- GenerateSerialVersionUID: 一鍵生成序列化 ID (alt + insert -> SerialVersionUID)
- JRebel: 熱部署
- Lombok: 提供非常豐富的注解,簡化 getter/setter痊焊。
- POJO to JSON: 一鍵復(fù)制實體類為 Json 格式(對實體類右鍵 -> POJO to Json )盏袄。
- Easy code : 基于IntelliJ IDEA開發(fā)的代碼生成插件忿峻,支持自定義任意模板(Java,html辕羽,js逛尚,xml),只要是與數(shù)據(jù)庫相關(guān)的代碼都可以通過自定義模板來生成刁愿。支持?jǐn)?shù)據(jù)庫類型與java類型映射關(guān)系配置绰寞,支持同時生成生成多張表的代碼,每張表有獨立的配置信息铣口,完全的個性化定義滤钱,規(guī)則由你設(shè)置。
- Kubernetes:k8s 的插件脑题,在編寫 yaml 文件時有檢查和提示件缸,非常方便。
三旭蠕、總結(jié)
上面簡單記錄了關(guān)于 idea 的一些常用配置停团,這里記錄的并不完整,如果大家發(fā)現(xiàn)有什么能夠提高開發(fā)效率的配置或者插件掏熬,歡迎留言補充佑稠。