IDEA使用總結


資源列表

  1. 官方網站:http://www.jetbrains.com/idea/
  2. 官網教學視頻:http://www.jetbrains.com/idea/documentation/

簡介

IDEA 全稱 IntelliJ IDEA,是java編程語言開發的集成環境。IntelliJ在業界被公認為最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、各類版本工具(git、svn等)、JUnit、CVS整合、代碼分析、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主。它的旗艦版本還支持HTML,CSS,PHP,MySQL,Python等。免費版只支持Python等少數語言。

安裝與破解

下載地址:http://www.jetbrains.com/idea/download

idea官方提供了windows、macOS、linux三種系統可供選擇,每種操作系統都提供了Ultimate,Community兩種版本,前者為收費版,包含全部功能,后者為社區版,包含部分功能。下載安裝過程與大多數軟件大同小異,此處不再贅述。值得一提的是,收費版需要購買注冊碼,要$499每年,屬實不便宜,故此處記錄下網友們的破解方法,如果有能力還是提倡支持正版。

破解

第一步,下載JetbrainsIdesCrack-4.2-release,百度雲下載地址:https://pan.baidu.com/s/1PrTR_CQSMa82UiyDXxLk1Q 提取碼: 65up

第二步,將下載的jar扔到IDEA的bin目錄下,如圖

第三步,如果電腦是64位的就編輯idea64.exe.vmoptions文件,32位編輯idea.exe.vmoptions這個文件,在最后面添加:-javaagent:G:\IntelliJ IDEA 2019.1\bin\JetbrainsIdesCrack-4.2-release.jar,bin前面替換成idea的安裝目錄,后面替換成下載到的jar名稱。

第四步,啟動idea填寫注冊碼。可以通過lanyu`s大神提供的在線生成注冊碼的工具生成注冊碼,地址是:http://idea.lanyus.com/, 點擊下方“獲取注冊碼”,即可獲取注冊碼。

插件推薦

Lombok

Lombok是一款通過注解在Java編譯期生成代碼的工具,需要安裝idea插件及添加lombok的maven依賴。如下

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

常用注解

  • @AllArgsConstructor:生成全參構造函數
  • @NoArgsConstructor:生成無參構造函數
  • @RequiredArgsConstructor:生成參數是final字段和帶有@NonNull等約束的字段的構造函數
  • @Builder:bulider模式構造對象
  • @Data:是@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode的組合注解
  • @EqualsAndHashCode:自動重寫equals和hashCode方法
  • @Getter:生成屬性getter方法
  • @Setter:生成屬性setter方法
  • @ToString:自動重寫toString方法
  • @Slf4j@Log4j@Log4j2:提供日志支持

Translation

支持三種谷歌翻譯、有道翻譯和百度翻譯三種,個人推薦谷歌翻譯但需要訪問外網或者配置代理

idea配置http代理

若是無法訪問外網或者沒有代理可以配置,則推薦有道翻譯,但是需要到有道開放平台申請應用ID及應用密鑰,點擊紅色框下面的藍色字或者這里申請。

可以使用快捷鍵:Ctrl+Shift+Y呼出如下翻譯界面,如下圖一。可以使用快捷鍵:Ctrl+Shift+O呼出如下翻譯界面,如下圖二。當然也支持段落翻譯,如下圖三。圖一圖二圖三

JRebel for IntelliJ

破解教程

下載lanyu's大神做的反代工具,下載地址:https://github.com/ilanyu/ReverseProxy/releases,我是windows系統,所以下載了ReverseProxy_windows_amd64.exe這個版本,下載之后直接雙擊執行,然后允許通過防火牆,然后開始激活JRebel,選擇Team URL,填寫http://127.0.0.1:8888/UUID 和有效郵箱格式,如下圖一,下面I agree點一下,等幾秒鍾,就ok了,如下圖二,此時exe窗口出現了變化如下圖三,激活成功界面如下圖四

圖一圖二圖三圖四

點擊Work offline就可以開啟離線模式了。此時啟動項目就會有相關日志打印出來,如下圖五

圖五

GsonFormat

一個json格式化插件,簡單實用,Alt+Insert呼出Generate界面,選擇GsonFormat則可格式化json數據

GenerateAllSetter

User user的user上使用快捷鍵Alt+Enter可以呼出如下界面圖一,可以選擇第一個生成User所有屬性值為空的setter方法,選擇第二個可以生成所有屬性值為默認值的setter方法。生成之后如下圖二

圖一圖一

Maven Helper

打開pom文件,下面切換tab到Dependency Analyzer可以查看沖突的依賴,所有依賴列表和所有依賴樹等,還可以重新導入,不過這個跟右側的maven管理功能重疊了,不常用,常用的是用來分析maven依賴關系及沖突的jar包,方便管理maven依賴。

PlantUML

參考文檔:http://plantuml.com/zh/index

簡單舉個栗子,包含了一些常用的

Alibaba Cloud Toolkit

Alibaba Cloud Toolkit (后文簡稱 Cloud Toolkit)是針對 IDE 平台為開發者提供的一款插件,用於幫助開發者更高效地開發、測試、診斷應用和部署應用。您可以使用 Cloud Toolkit 將應用部署到雲端(ECS、EDAS、容器服務 Kubernetes 版等雲產品)和任意服務器中去;通過內嵌的 Arthas 程序診斷、 Terminal Shell 終端和 MySQL 執行器等工具,可以快速開發、測試和診斷應用。

參考文檔:https://help.aliyun.com/product/29966.html?spm=a2c4g.11186623.6.540.63e11dcfMfMbjM

常用設置

主題設置

更新提示關閉設置

快捷鍵設置

idea為從eclipse轉過來的用戶專門設置了一套與idea基本一致的快捷鍵集,大大降低了轉開發工具的難度,而且支持部分快捷鍵更改,很靈活。

自動導包設置

因人而異,有些人喜歡自動導包可控性強且可以熟悉代碼都用了那些依賴包,有人怕麻煩喜歡自動導包,看喜好吧。

代碼折疊設置

字體設置

配色方案設置

三種界面及代碼配色方案,君可按個人喜好選擇。

Default方案,整個界面為白色底色,與eclipse配色相近,剛從eclipse轉到idea的小伙伴會更適應。

Darcula配色方案,整體底色為黑色,高端大氣,個人比較喜歡這個配色。

High Contrast配色方案,整體配色與Darcula相近,不同的是這款配色方案代碼加了高亮顯示,讓人更沉浸在coding中。

當然也可以三種方案自由搭配,如圖整體配色方案為Darcula時也可以單獨設置java代碼塊配色方案為Default,並可在下方預覽設置效果。

代碼風格設置

下面是java代碼中Tab和縮進設置,我們使用Tab鍵為4個空格縮進,該設置團隊應統一。

Java代碼塊中空格位置設置,建議采用默認設置,如需修改某一項,可在右側預覽。

文件編碼格式設置

文件編碼格式設置,可為每個model設置不同的編碼格式

插件安裝

當然如果網絡被牆或者被限制時,也可以選擇設置代理或者從硬盤選擇文件進行安裝,這時就比較靈活了。

版本控制設置

關聯github賬戶,這樣做的好處是很多文件的操作會自動進行版本管控,而且往github推拉文件都比較方便。

例如,當使用idea從git克隆倉庫時,會自動檢測登錄賬號下的倉庫,方便快捷,當然Git Bash拉取也很方便。

Maven設置

項目設置

看這篇:https://blog.csdn.net/bbj12345678/article/details/80316838

使用技巧-深度用戶必備

牆裂推薦可以前進后退的鼠標(帶側鍵),真正的物超所值,真正的提高效率,不管是瀏覽網頁,還是翻源碼閱讀,都可以方便的通過側鍵快速前進或后退,相當好用!下面進入主題。。。

編碼技巧

作為一名java程序員,寫的CRUD不勝其數,這其中很多都是重復而無意義的勞動,而凡是重復的都可以簡化或避免,而IDEA號稱java最完美的開發工具,一定程度上為我們簡化了很多開發步驟,下面我舉例說明我是如何簡化crud編程的,作為拋磚引玉,若有更好的方法一定請不吝賜教。

CRUD提速技巧

現在一般的項目都是前后端分離,后端負責編寫api接口,而后端業務架構一般都分為controller、service、dao層,下面我們使用springboot框架舉例寫一個用戶信息的crud。

簡單寫我提升效率的思路,利用IDEA報錯提示和快捷修復功能,快速創建依賴類和方法,從controller寫,依次創建依賴的service和dao及內部方法。創建對象時,利用new 對象().var,快速創建並從候選的命名內選擇,利用插件根據表結構定義,快速生成entity類,利用GenerateAllSetter插件,快速生成setter方法,利用BeanUtils.class工具類,快速實現對象間拷貝屬性。

下面以用戶信息接口為例,編寫一個根據用戶姓名查詢用戶信息的接口。

1.選擇父級包,然后快捷鍵Alt+Insert新建包controller,Alt+Insert新建UserController類。注入UserService,利用快捷鍵Alt+Enter修復功能,生成UserService類。

2.編寫findUsersByName方法

3.同上,利用修復功能,快速生成User類和service的findAllUserByName方法,注入userRepository

4.自動生成UserRepository接口,自動生成findAllByName方法。

5.利用Alt+Insert快捷鍵,選擇Test...快速生成單元測試類,詳見下圖。

快速生成Junit單元測試技巧。

Alt+Insert呼出Generate界面,選擇Test...,呼出右側界面,其中①處可以選擇單元測試所使用的框架或者二類庫,②可以指定該類對應的單元測試類名稱,③可以指定該單元測試類繼承的父類,一般都是統一繼承一個父類,父類里面寫單元測試的注解、資源初始化、mock登錄、資源釋放等操作,④處指定生成的單元測試類包全路徑,⑤處可以選擇是否生成setUp和tearDown方法,一般③處繼承父類就不需要勾選了,⑥處指定生成哪些方法的單元測試方法。

重構技巧

重命名

重構快捷鍵神器:Shift+F6,不管是類名,方法名,變量名統統都可以解決,還可以根據設置檢測依賴這個命名的變量,提示您是否同步作出修改。如圖。

重命名類,原類名為UserService,默認為全選狀態,直接輸入新類名即可替換,下面①處可以搜索所有使用了UserService這個詞的評論和字符,並且提示出來,②處會按文本搜索這個詞出現的位置,並提示,③處會重命名測試類中該單詞的使用,④處會重命名依賴這個單詞的命名,⑤處會重命名以這個單詞命名的變量

重命名方法和變量,就不貼圖了,該方法會自動重命名依賴這個方法的名字,若為變量,則會自動查詢與這個變量引用相同的變量名稱。

提取代碼段

選中帶抽取的代碼塊,按快捷鍵Ctrl + Alt + M會自動提取代碼段生成一個方法,默認為private,可以修改,此外返回值類型、方法名入參等都可修改,如下圖一,點擊Refactor后就會生成如下圖二的private函數了。

閱讀源碼技巧

查看類UML圖

快捷鍵:Ctrl+Alt+U:彈層打開、Ctrl+Alt+Shift+U:新窗口打開

如下圖則為ArrayList.classCtrl+Alt+Shift+U之后自動生成的UML類圖,按space可添加任意類到UML圖中,有意思的是還提供了放大鏡的功能,按住Alt即可。

下圖為jdk 1.8下重用的集合工具類UML圖

翻譯源碼

利用Translation插件即時查看方法或文檔注釋

debug技巧

https://www.cnblogs.com/chiangchou/p/idea-debug.html

快捷鍵匯總

這個網絡上比較多,這里就不總結了,貼幾個鏈接。

https://www.open-open.com/lib/view/open1396578860887.html

https://www.jianshu.com/p/ce91cea16c60

總結

自2018年6月由Eclipse轉到IDEA以來,真的是沒有對比沒有傷害,通過自己的實踐真實體會到了IDEA給Java coder帶來的便利,不管是UI界面上的視覺沖擊,還是IDEA更加實用的功能,加上完善和豐富的網絡資源,最主要的是作為一個工具,能真正提高code效率,讓IDEA漸漸甩下Eclipse。雖然剛從Eclipse轉到IDEA需要花費一些時間和精力去適應全新的開發環境,但以一個過來人的經驗給以負責的告訴大家,是值得的,等你熟悉了這個工具,你就會體會到做一個項目時掌控一切的舒適!

更多信息可以關注我的個人博客:逸竹小站

也歡迎關注我的公眾號:yizhuxiaozhan,二維碼:公眾號二維碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM