idea 插件的使用 進(jìn)階篇(個(gè)人搜集使用中的)
優(yōu)采云 發(fā)布時(shí)間: 2020-08-09 12:03lombok 如果你在用 Lombok,就得裝個(gè)這個(gè)插件啦,省掉一堆 getter、setter,有關(guān) Lombok 的詳盡介紹參考 使用 Lombok 來(lái)削減 Java 代碼
LiveEdit Intellij IDEA 默認手動(dòng)保存的,根本不用 Ctrl+s,
LiveEdit 能手動(dòng)更新瀏覽器里的網(wǎng)頁(yè),所以F5也市了
如果是是雙屏的話(huà),基本上所見(jiàn)即所得了
IdeaJad 反編譯工具
GenerateToString
JUnitGenerator
WebServicePlugin
JarTool
GenerateSerialVersionUID
FindBugs FindBugs 通過(guò)檢測類(lèi)文件或 JAR 文件,將字節碼與一組缺陷模式進(jìn)行對比進(jìn)而發(fā)覺(jué)代碼缺陷,完成靜態(tài)代碼分析,可以找出常見(jiàn)的 bug 或者可能潛在 bug 的地方。
Jrebel 熱布署利器,改完代碼直接生效,不用重啟啦!
具體參考 利用Jrebel熱布署提高工作效率
可以切換變量命名風(fēng)格,如 SogouInc、sogouInc、sogou—inc、SOGOU_INC
一、與JIRA集成
jira是一個(gè)廣泛使用的項目與事務(wù)跟蹤工具,被廣泛應用于缺陷跟蹤、客戶(hù)服務(wù)、需求搜集、流程審批、任務(wù)跟蹤、項目跟蹤和敏捷管理等工作領(lǐng)域。idea可以挺好的跟它集成,參考右圖:
File -> Settings ->Task -> Servers 點(diǎn)擊兩側前面的+號,選擇JIRA,然后輸入JIRA的Server地址,用戶(hù)名、密碼即可
然后打開(kāi)Open Task界面
如果JIRA中有分配給你的Task,idea能手動(dòng)列下來(lái)
代碼修改后,向svn遞交時(shí),會(huì )手動(dòng)與該任務(wù)關(guān)聯(lián)
將每次遞交的代碼更改與JIRA上的TASK關(guān)聯(lián)后,有哪些益處呢? 我們每晚可能要寫(xiě)好多代碼,修復若干bug,日子久了之后,誰(shuí)也不記得當年為了修補某個(gè)bug做了什么更改,不要緊張,只要你按前面的操作正確遞交,idea就會(huì )幫你記著(zhù)這種細節
如上圖,選擇近來(lái)遞交的TASK列表,選擇Switch to,idea都會(huì )手動(dòng)打開(kāi)該TASK關(guān)聯(lián)的源代碼,并定位到更改過(guò)的代碼行。當然假如該TASK早已Close了,也可以選擇Remove將其清空。
二、UML類(lèi)圖插件
idea早已集成了該功能,只是默認沒(méi)打開(kāi),仍然打開(kāi)Settings界面,定位到Plugins,輸入UML,參考右圖:
確認UML 這個(gè)勾早已勾上了,然后點(diǎn)擊Apply,重啟idea,然后一直找一個(gè)java類(lèi)文件,右擊Diagram
然后,就自個(gè)兒爽去吧
三、SSH集成
java項目常常會(huì )在linux上布署,每次要切換到SecureCRT這類(lèi)終端工具未免太麻煩,idea也想到了這一點(diǎn)
然后填入IP、用戶(hù)名、密碼啥的
點(diǎn)擊OK,就能聯(lián)接上linux了
注:如果有英文亂碼問(wèn)題,可以在Settings里調整編碼為utf-8
四、集成FTP
點(diǎn)擊上圖中的…,添加一個(gè)Remote Host
填寫(xiě)ftp的IP、用戶(hù)名、密碼,根路徑啥的,然后點(diǎn)擊Test FTP Connection,正常的話(huà),應該能聯(lián)接,如果聯(lián)接不通,點(diǎn)擊Advanced Options,參考右圖調整下聯(lián)接選項
配置了FTP聯(lián)接后,在遞交代碼時(shí),可以選擇遞交完成后將代碼手動(dòng)上傳到ftp服務(wù)器
五、Database管理工具
先看療效吧:
有了這個(gè),再也不艷羨的db管理功能了。配置也很簡(jiǎn)單,就是點(diǎn)擊+號,增加一個(gè)Data Source即可
唯一要注意的是,intellij idea不帶數據庫驅動(dòng),所以在上圖中,要自動(dòng)指定db driver的jar包路徑。
六、CheckStyle-IDEA
通過(guò)檢測對代碼編碼格式,命名約定,Javadoc,類(lèi)設計等方面進(jìn)行代碼規范和風(fēng)格的檢測,從而有效約束開(kāi)發(fā)人員更好地遵守代碼編撰規范。
軟件安裝成功以后,首先要設置規則??梢酝ㄟ^(guò)
Preferences—>Other Settings —>CheckStyles
進(jìn)行設置,可以直接將文件添加進(jìn)來(lái),然后就可以對具體的文件進(jìn)行檢測了。
同樣,該插件也有個(gè)單獨的視圖,該視圖可以展示檢測結果。
配置checkstyle
File->Setting->Other Setting->checkStyle至右圖界面
點(diǎn)擊紅框選中的紅色減號至下層頁(yè)面添加自定義的檢測規則,選擇附件中的my_checks.xml,Next,Finish后至右圖。
選中新添加的檢測規則,并Apply即可。
使用checkStyle檢測文件
在File->Setting->Editor->CheckStyle中選擇是否進(jìn)行實(shí)時(shí)檢測。
?。?) 實(shí)時(shí)檢測,實(shí)時(shí)地對不規范的書(shū)寫(xiě)進(jìn)行提示 ,并在編輯頁(yè)面中進(jìn)行顏色標識。
?。?) 取消實(shí)時(shí)檢測后,可在打開(kāi)的文件中右擊選擇Check Current File對當前頁(yè)面進(jìn)行檢測,此時(shí)可在右圖所示的CheckStyle Scan 中查看不規范內容,點(diǎn)擊條目可查看對應出錯句子。
其他
如有一些必須的但不符合檢測規則的地方須要忽視檢測可以根據下列進(jìn)行注釋
// CSOFF: MagicNumber
需要忽視的代碼段
// CSON: MagicNumber
其中MagicNumber為檢測的一個(gè)步驟,表示檢測魔法數,可以替換成其他的檢測步驟,比如要忽視該段的行寬度,可將MagicNumber改為L(cháng)ineLength即可。
七、lombok 注解:
lombok 提供的注解不多,可以參考官方視頻的講解和官方文檔。
Lombok 注解在線(xiàn)幫助文檔:
下面介紹幾個(gè)我常用的 lombok 注解:
@Data :注解在類(lèi)上;提供類(lèi)所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在屬性上;為屬性提供 setting 方法
@Getter:注解在屬性上;為屬性提供 getting 方法
@Log4j :注解在類(lèi)上;為類(lèi)提供一個(gè) 屬性名為log 的 log4j 日志對象
@NoArgsConstructor:注解在類(lèi)上;為類(lèi)提供一個(gè)無(wú)參的構造方法
@AllArgsConstructor:注解在類(lèi)上;為類(lèi)提供一個(gè)全參的構造方法
@EqualsAndHashCode:實(shí)現equals()方法和hashCode()方法
@ToString:實(shí)現toString()方法
@Cleanup:關(guān)閉流
@Synchronized:對象同步
@SneakyThrows:拋出異常
下面是簡(jiǎn)單示例
1.不使用 lombok 的方案
1
2 public class Person {
3
4 private String id;
5 private String name;
6 private String identity;
7 private Logger log = Logger.getLogger(Person.class);
8
9 public Person() {
10
11 }
12
13 public Person(String id, String name, String identity) {
14 this.id = id;
15 this.name = name;
16 this.identity = identity;
17 }
18
19 public String getId() {
20 return id;
21 }
22
23 public String getName() {
24 return name;
25 }
26
27 public String getIdentity() {
28 return identity;
29 }
30
31 public void setId(String id) {
32 this.id = id;
33 }
34
35 public void setName(String name) {
36 this.name = name;
37 }
38
39 public void setIdentity(String identity) {
40 this.identity = identity;
41 }
42 }
43
2.使用 lombok 的方案
1
1
2 @Data
3 @Log4j
4 @NoArgsConstructor
5 @AllArgsConstructor
6 public class Person {
7
8 private String id;
9 private String name;
10 private String identity;
11
12 }
13
上面的兩個(gè) java 類(lèi),從作用上來(lái)看,它們的療效是一樣的,相比較之下,很明顯,使用 lombok 要簡(jiǎn)練許多,特別是在類(lèi)的屬性較多的情況下,
同時(shí)也防止了更改數組名子時(shí)侯忘掉更改方式名所犯的低級錯誤。最后須要注意的是,在使用 lombok 注解的時(shí)侯記得要導出 lombok.jar 包到工程
---------------------
作者:sunnylovecmc