idea 插件的使用 進階篇(個人收集使用中的)
恭喜你,如果你已經看到這篇文章,證明在idear使用上已經初有小成!那么就要向着大神進發了!
下邊就是大神之路!
插件的設置
在 IntelliJ IDEA 的安裝講解中我們其實已經知道,IntelliJ IDEA 本身很多功能也都是通過插件的方式來實現的,只是 IntelliJ IDEA 本身就是它自己的插件平台最大的開發者而已,開發了很多優秀的插件。
• 官網插件庫:https://plugins.jetbrains.com/
• 如上圖標注 1 所示,IntelliJ IDEA 對插件進行了很好的分類:
• All plugins 顯示所有插件。
• Enabled 顯示當前所有已經啟用的插件。
• Disabled 顯示當期那所有已經禁用的插件。
• Bundled 顯示所有 IntelliJ IDEA 自帶的插件。
• Custom 顯示所有我們自行安裝的插件,如果你自己裝了很多次插件的話,這個選項會用得比較多。
• 如上圖標注 2 所示,啟用的插件是被勾選的,如果要禁用一個插件,去掉勾選即可。
• 如上圖標注 3 所示,彈出 IntelliJ IDEA 公司自行開發的插件倉庫列表,供下載安裝。
• 如上圖標注 4 所示,彈出插件倉庫中所有插件列表供下載安裝。
• 如上圖標注 5 所示,瀏覽本地的插件文件進行安裝,而不是從服務器上下載並安裝。
• 需要嚴重注意的是:在國內的網絡下,很經常出現顯示不了插件列表,或是顯示了插件列表,無法下載完成安裝。這時候請自行開VPN,一般都可以得到解決。
• 如上圖紅圈所示,如果 IntelliJ IDEA 打開一個它可以識別並且支持的文件類型,它會提示你它有對應的插件進行支持,你可以安裝對應的插件來加以兼容此類文件。
插件的安裝
• 如上圖 Gif 演示,在線安裝 IntelliJ IDEA 插件庫中的插件。
• 如上圖 Gif 演示,離線安裝本地插件文件。
插件名稱 插件介紹 官網地址
Key promoter 快捷鍵提示 https://plugins.jetbrains.com/plugin/4455?pr=idea
CamelCase 駝峰式命名和下划線命名交替變化 https://plugins.jetbrains.com/plugin/7160?pr=idea
CheckStyle-IDEA 代碼規范檢查 https://plugins.jetbrains.com/plugin/1065?pr=idea
FindBugs-IDEA 潛在 Bug 檢查 https://plugins.jetbrains.com/plugin/3847?pr=idea
MetricsReloaded 代碼復雜度檢查 https://plugins.jetbrains.com/plugin/93?pr=idea
Statistic 代碼統計 https://plugins.jetbrains.com/plugin/4509?pr=idea
JRebel Plugin 熱部署 https://plugins.jetbrains.com/plugin/?id=4441
CodeGlance 在編輯代碼最右側,顯示一塊代碼小地圖 https://plugins.jetbrains.com/plugin/7275?pr=idea
GsonFormat 把 JSON 字符串直接實例化成類 https://plugins.jetbrains.com/plugin/7654?pr=idea
Eclipse Code Formatter 使用 Eclipse 的代碼格式化風格,在一個團隊中如果公司有規定格式化風格,這個可以使用。 https://plugins.jetbrains.com/plugin/6546?pr=idea
Ace Jump AceJump其實是一款能夠代替鼠標的軟件,只要安裝了這款插件,可以在代碼中跳轉到任意位置。按快捷鍵進入 AceJump 模式后(默認是 Ctrl+J),再按任一個字符,插件就會在屏幕中這個字符的所有出現位置都打上標簽,你只要再按一下標簽的字符,就能把光標移到該位置上。換言之,你要 移動光標時,眼睛一直看着目標位置就行了,根本不用管光標的當前位置。
lombok 如果你在用 Lombok,就得裝個這個插件啦,省掉一堆 getter、setter,有關 Lombok 的詳細介紹參考 使用 Lombok 來縮減 Java 代碼
LiveEdit Intellij IDEA 默認自動保存的,根本不用 Ctrl+s,
LiveEdit 能自動更新瀏覽器里的網頁,所以F5也省了
如果是是雙屏的話,基本上所見即所得了
IdeaJad 反編譯工具
GenerateToString
JUnitGenerator
WebServicePlugin
JarTool
GenerateSerialVersionUID
FindBugs FindBugs 通過檢查類文件或 JAR 文件,將字節碼與一組缺陷模式進行對比從而發現代碼缺陷,完成靜態代碼分析,可以找出常見的 bug 或者可能潛在 bug 的地方。
Jrebel 熱部署神器,改完代碼直接生效,不用重啟啦!
具體參考 利用Jrebel熱部署提升工作效率
可以切換變量命名風格,如 SogouInc、sogouInc、sogou—inc、SOGOU_INC
一、與JIRA集成
jira是一個廣泛使用的項目與事務跟蹤工具,被廣泛應用於缺陷跟蹤、客戶服務、需求收集、流程審批、任務跟蹤、項目跟蹤和敏捷管理等工作領域。idea可以很好的跟它集成,參考下圖:
File -> Settings ->Task -> Servers 點擊右側上面的+號,選擇JIRA,然后輸入JIRA的Server地址,用戶名、密碼即可
然后打開Open Task界面
如果JIRA中有分配給你的Task,idea能自動列出來
代碼修改后,向svn提交時,會自動與該任務關聯
將每次提交的代碼修改與JIRA上的TASK關聯后,有什么好處呢? 我們每天可能要寫很多代碼,修復若干bug,日子久了以后,誰也不記得當初為了修復某個bug做了哪些修改,不要緊張,只要你按上面的操作正確提交,idea都會幫你記着這些細節
如上圖,選擇最近提交的TASK列表,選擇Switch to,idea就會自動打開該TASK關聯的源代碼,並定位到修改過的代碼行。當然如果該TASK已經Close了,也可以選擇Remove將其清空。
二、UML類圖插件
idea已經集成了該功能,只是默認沒打開,仍然打開Settings界面,定位到Plugins,輸入UML,參考下圖:
確認UML 這個勾已經勾上了,然后點擊Apply,重啟idea,然后仍然找一個java類文件,右擊Diagram
然后,就自個兒爽去吧
三、SSH集成
java項目經常會在Linux上部署,每次要切換到SecureCRT這類終端工具未免太麻煩,idea也想到了這一點:
然后填入IP、用戶名、密碼啥的
點擊OK,就能連接上linux了
注:如果有中文亂碼問題,可以在Settings里調整編碼為utf-8
四、集成FTP
點擊上圖中的…,添加一個Remote Host
填寫ftp的IP、用戶名、密碼,根路徑啥的,然后點擊Test FTP Connection,正常的話,應該能連接,如果連接不通,點擊Advanced Options,參考下圖調整下連接選項
配置了FTP連接后,在提交代碼時,可以選擇提交完成后將代碼自動上傳到ftp服務器
五、Database管理工具
先看效果吧:
有了這個,再也不羡慕vs.NET的db管理功能了。配置也很簡單,就是點擊+號,增加一個Data Source即可
唯一要注意的是,intellij idea不帶數據庫驅動,所以在上圖中,要手動指定db driver的jar包路徑。
六、CheckStyle-IDEA
通過檢查對代碼編碼格式,命名約定,Javadoc,類設計等方面進行代碼規范和風格的檢查,從而有效約束開發人員更好地遵循代碼編寫規范。
軟件安裝成功之后,首先要設置規則。可以通過
Preferences—>Other Settings —>CheckStyles
進行設置,可以直接將文件添加進來,然后就可以對具體的文件進行檢查了。
同樣,該插件也有個單獨的視圖,該視圖可以展示檢查結果。
配置checkstyle
File->Setting->Other Setting->checkStyle至下圖界面
點擊紅框選中的綠色加號至上層頁面添加自定義的檢查規則,選擇附件中的my_checks.xml,Next,Finish后至下圖。
選中新添加的檢查規則,並Apply即可。
使用checkStyle檢查文件
在File->Setting->Editor->CheckStyle中選擇是否進行實時檢查。
(1) 實時檢查,實時地對不規范的書寫進行提示 ,並在編輯頁面中進行顏色標識。
(2) 取消實時檢查后,可在打開的文件中右擊選擇Check Current File對當前頁面進行檢查,此時可在下圖所示的CheckStyle Scan 中查看不規范內容,點擊條目可查看對應出錯語句。
其他
如有一些必須的但不符合檢查規則的地方需要忽略檢查可以按照下述進行注釋
// CSOFF: MagicNumber
需要忽略的代碼段
// CSON: MagicNumber
其中MagicNumber為檢查的一個步驟,表示檢查魔法數,可以替換成其他的檢查步驟,比如要忽略該段的行長度,可將MagicNumber改為LineLength即可。
七、lombok 注解:
lombok 提供的注解不多,可以參考官方視頻的講解和官方文檔。
Lombok 注解在線幫助文檔:http://projectlombok.org/features/index.
下面介紹幾個我常用的 lombok 注解:
@Data :注解在類上;提供類所有屬性的 getting 和 setting 方法,此外還提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在屬性上;為屬性提供 setting 方法
@Getter:注解在屬性上;為屬性提供 getting 方法
@Log4j :注解在類上;為類提供一個 屬性名為log 的 log4j 日志對象
@NoArgsConstructor:注解在類上;為類提供一個無參的構造方法
@AllArgsConstructor:注解在類上;為類提供一個全參的構造方法
@EqualsAndHashCode:實現equals()方法和hashCode()方法
@ToString:實現toString()方法
@Cleanup:關閉流
@Synchronized:對象同步
@SneakyThrows:拋出異常
下面是簡單示例
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
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
上面的兩個 java 類,從作用上來看,它們的效果是一樣的,相比較之下,很明顯,使用 lombok 要簡潔許多,特別是在類的屬性較多的情況下,
同時也避免了修改字段名字時候忘記修改方法名所犯的低級錯誤。最后需要注意的是,在使用 lombok 注解的時候記得要導入 lombok.jar 包到工程