IntelliJ IDEA 的介紹
IDEA 全稱 IntelliJ IDEA
,是 Java 語言開發的集成環境,一般叫 IDEA,IntelliJ IDEA 在業界被公認為最好的 Java 開發工具之一,IDEA 是 JetBrains 公司的產品
IntelliJ IDEA 的優點
智能代碼助手、重構、J2EE 支持、各類版本工具(Git、Svn、GitHub 等)最突出的功能自然是調試(Debug)可以對 Java 代碼,JavaScript,JQuery,Ajax 等技術進行調試。其他編輯功能拋開不看,這點遠勝 Eclipse
IntelliJ IDEA 的缺點
太過強大的自動提示會讓使用者漸漸的依賴上 IDEA 的自動提示
IntelliJ IDEA 的下載
下載地址:https://www.jetbrains.com/idea
接下來安裝就是傻瓜式的下一步下一步,沒太多的注意點,可以參考:IDEA安裝與破解
IntelliJ IDEA 創建工程
創建普通的工程
配置 JDK,配置方式如下,配置完成之后按照下圖創建普通的工程即可
創建工程
創建 Maven Jar 工程
參考:https://www.cnblogs.com/BNTang/articles/13772661.html
關於創建中的坐標詳解請參考:https://www.cnblogs.com/TangXiaoHuiHui/articles/12264019.html#gallery-3
創建 Maven Web 工程
也就是 war
工程
參考文章如下:
- https://www.cnblogs.com/TangXiaoHuiHui/articles/12264019.html
- https://xiaohuihuit.github.io/2020/07/05/IDEA中使用Maven/
- https://www.cnblogs.com/BNTang/articles/13602539.html
常用玩法
我猜應該有的小伙伴是在學習過程中有這樣一個問題,在使用 eclipse 的時候都有一個操作就是使用第三方 jar 的時候需要編譯到當前的工程當中,那么 elipse 會到了 intellij IDEA 中如何編譯呢,那么按照如下圖操作即可進行編譯到當前項目工程當中,按照下圖點擊會彈出一個窗口點擊 ok
即可完成編譯到工程中
選擇需要覆蓋的方法和查看當前類已實現的方法,在需要查看的類當中按 Ctrl + O
即可
快速生成一些你平時需要的一些方法,比如 get / set / Test 等等,在需要生成的類當中按 alt + insert
即可彈出如下的窗口然后自行選擇生成即可
強大的 symbol
如果你依稀記得某個方法名字的幾個字母,想在 IDEA
里面找出來,可以怎么做呢?直接使用 ctrl + shift + alt + n
,使用 symbol
來查找即可。比如說:
你想找到 isNumber 方法。直接輸入 number
即可
如果你記得某個業務類里面有某個方法,那也可以使用首字母找到類,然后加個 .
再輸入方法名字也是可以的
找目錄
使用 ctrl + shift + n
后,使用 /
,然后輸入目錄名字即可
把鼠標定位到 project 視圖里
當工程里的包和類非常多的時候,有時候我們想知道當前類在 project 視圖里是處在哪個位置
上面圖中的 Demo
里,你如何知道它是在 jdk8
工程里的哪個位置呢?可以先使用 alt + F1
彈出 Select in
視圖,然后選擇 Project View
中的 Project
,回車,就可以立刻定位到類的位置了
那如何從 project
跳回代碼里呢?可以直接使用 esc
退出 project
視圖,或者直接使用 F4
跳到代碼里
去掉導航欄
去掉導航欄,因為平時用的不多
可以把紅色的導航欄去掉,讓 IDEA
顯得更加干凈整潔一些。使用 alt + v
,然后去掉 Navigation bar
即可。去掉這個導航欄后,如果你偶爾還是要用的,直接用 alt + home
就可以臨時把導航欄顯示出來
如果想讓這個臨時的導航欄消失的話,直接使用 esc
快捷鍵即可
IDEA 開發常用配置
idea 打開窗口 / tab 過多導致隱藏解決辦法
參考文章鏈接:https://blog.csdn.net/gggg989898/article/details/109714045
配置編碼
點擊 intellij IDEA 左上角的 File
→ Settings
→ File Encodings
統一選擇 UTF-8 如下圖
配置行分隔符
配置方法之間的分割線
好處就是讓你的代碼看起來更加的簡潔明了,那么如何配置呢,如下圖
點擊 IDEA 左上角 File
→ Settings
在如下圖的進行設置勾選即可
配置內存占用大小
點擊 Help
→ Edit Custom VM Options
如下圖
老版本使用IDEA 創建 Maven Web工程:https://www.cnblogs.com/TangXiaoHuiHui/articles/12264019.html
在平日里,開發當中我們使用 Git 提交文件有的文件是不需要提交的,這時候我們可以新建一個目錄出來專門放一些不提交的文件,新建好了之后把不需要提交的文件拖入之中即可,提交的時候不選擇這個文件夾即可具體玩法如下
把不需要的文件投入那個不需要提交的文件目錄不選擇即可
專注模式
專注模式就是將某一個文件設置為全屏,可以很好的觀察代碼與開發,最終設置的效果如下圖所示
File → Settings → Keymap
在專注模式下設置左側顯示的代碼行號 View
→ Active Editor
如下圖所示
這里的快捷鍵是我自己配置了你也可以配置為其他的,進入和退出都是按這個快捷鍵進行即可
還可以使用【Presentation Mode】將 IDEA
弄到最大,可以讓你只關注一個類里面的代碼,進行毫無干擾的 coding
。可以使用 Alt + V
快捷鍵,彈出 View
視圖,然后選擇 Enter Presentation Mode
。效果如下:
這個模式的好處就是,可以讓你更加專注,因為你只能看到特定某個類的代碼。可能讀者會問,進入這個模式后,我想看其他類的代碼怎么辦?這個時候,就要考驗你快捷鍵的熟練程度了。你可以使用 CTRL + E
彈出最近使用的文件。又或者使用 CTRL + N
和 CTRL + SHIFT + N
來定位文件
如何退出這個模式呢?很簡單,使用 ALT + V
彈出 view 視圖,然后選擇 Exit Presentation Mode
即可。但是我強烈建議你不要這么做,因為你是可以在 Enter Presentation Mode
模式下在 IDEA
里面做任何事情的。當然前提是,你對 IDEA
足夠熟練
配置 Tomcat
https://www.cnblogs.com/BNTang/articles/13602539.html
配置字體
Windows下Idea,AndroidStudio的字體美化:https://www.jianshu.com/p/ec68073ecb09
我設置的字體樣式如下
配置 Maven
配置本地 Maven 倉庫地址,以及 Maven 地址
關於 Maven 的下載和安裝可以參考:https://myblog.ddos-sec.cn/tags/Maven/
上方我推薦的文章當中是 Maven 所有的內容了,自行參考完畢在 IDEA 中配置之后就沒有任何問題了,配置了 Maven 的 setting.xml 倉庫地址會自動識別
修改 Maven 顯示視圖的關系
但是實際上 his-commons 是 BNTang-his 的一個子項目可以修改顯示的層級關系,改完之后的結構更加明了
開啟注解的支持
點擊 intellij IDEA 左上角的 File → Settings
File and Code Templates 的配置,就是在創建類或者枚舉等文件的時候會先提示你輸入當前文件對應的描述信息如下圖所示
/*
* Copyright (c) 2020-2030 it6666.top. All Rights Reserved.
*/
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")
/**
* @author BNTang
* @version 1.0
* @program ${PROJECT_NAME}
* @date Created in ${DATE} ${TIME}
* @description ${description}
**/
public class ${NAME} {
}
忽略代碼大小寫提示
自動導包
,寫第一次時會導入,下一次就不會自動導入了,當一個類有多個包時,此時要自己手動來進行選擇(按 alt + enter
)
項目選擇
,IDEA 打開后,但是只能打開一個項目,默認情況是打開上次運行的項目,設置打開 IDEA 時,選擇打開哪一個項目
隱藏 .idea
, *.iml
文件,因為這是 IDEA 打開項目自己生成的一些配置信息,我們並不需要看到以防刪除導致一系列的坑
隱藏 out 目錄
,這個目錄存放着編譯過后的字節碼文件的目錄
格式化代碼
有一天我突然的發現自己的格式化代碼規則和同事的不一樣了,參考的如下文章進行解決的,當然我把格式化配置放在了自己的藍奏雲中了防止丟失
下載鏈接:https://wwe.lanzoui.com/iYo5Qp4dcti
插件
MyBatisCodeHelperPro
- 通過Intellij數據庫表生成mybatis crud代碼或添加數據庫連接
- 基於mybatis接口方法名(如spring data jpa)生成mybatis sql,有了它,您就不必為非連接查詢支持生成語句編寫大多數sql,並使用測試
- 數據庫生成crud可以在您添加或刪除列時生成多次,插件將自動合並代碼
- 等等...
- 這個插件是收費的,可以自己百度下載破解版本,本地安裝即可
- 和這個插件類似的有
Free MyBatis plugin
- 可參考:https://www.cnblogs.com/BNTang/articles/13830043.html
插件名稱 | 作用 |
---|---|
跟蹤代碼利器SequenceDiagram | 可以生成代碼的調用流程,跟蹤代碼會更加方便。 |
MyBatisX | MybatisX 是一款基於 IDEA 的快速開發插件,為效率而生。 官方地址:https://mp.baomidou.com/guide/mybatisx-idea-plugin.html |
leetcode editor | 在IDE中做Leetcode練習,支持leetcode.com和Leetcode -cn.com,滿足做練習的基本需求。理論上支持:IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio。 |
Rainbow Fart | IntelliJ Rainbow Fart是一個擴展,在你編碼的時候一直給你贊美。它將檢查代碼中的關鍵字來播放相關聲音。彩虹屁是從中文直譯過來的,意思是給某人誇張的贊美,甚至看起來有點假。它與任何特定的團體或個人無關。 |
Lombok | 現在討論代碼就像高亮顯示代碼塊並在IDE中輸入注釋一樣簡單。消除代碼檢查的痛苦,提高代碼質量。 |
Alibaba Java Coding Guidelines | 阿里巴巴 Java 編碼指南插件支持。 |
.ignore | 用於創建新過濾文件。 |
GitToolBox | 擴展Git與其他特性的集成,狀態顯示,自動取回,內聯責備注釋,提交對話框完成,后面的通知和更多。 |
CodeGlance | 在編輯器窗格中嵌入一個類似於Sublime中的代碼小地圖。使用自定義的顏色進行語法高亮,可以同時處理淺色和深色主題。 |
Key Promoter X | 關鍵推動者X幫助你學習工作時的基本捷徑。當您在IDE內的按鈕上使用鼠標時,關鍵啟動子X會顯示您應該使用的鍵盤快捷鍵。這提供了一種簡單的方法來學習如何用鍵盤鍵替換乏味的鼠標工作,並幫助過渡到更快的、沒有鼠標的開發。關鍵啟動器X工具窗口顯示您最常用的鼠標操作的點擊列表,並直接為您提供可以替代的快捷方式。對於沒有快捷方式的按鈕。 |
Sonarlint | SonarLint是一個免費的IDE擴展,讓你在編寫代碼時修復bug和漏洞!像拼寫檢查器一樣,SonarLint動態地突出顯示代碼問題,並提供清晰的補救指南,以便您甚至可以在代碼提交之前對它們進行修復。通過流行的ide (Eclipse, IntelliJ, Visual Studio, VS Code)和流行的編程語言,SonarLint幫助所有開發人員編寫更好和更安全的代碼。 |
copyright | 設置 IDEA 新建新的文件的版權所屬,可以自行百度,很簡單。 |
mybatis log plugin | 安裝與破解方式地址:https://songzixian.com/windowstooluse/1511.html |
Momo Code Sec Inspector (Java) | Java靜態代碼安全審計插件。本插件側重於在編碼過程中發現項目潛在的安全風險,並提供一鍵修復能力。本插件利用IDEA原生Inspection機制檢查活躍文件,檢查速度快,占用資源少。插件提供的規則名稱均以"Momo"開頭。 |
Tabnine Al Autocomplete: JavaScript C Python Ruby Rust Go PHP... | Tabnine是世界領先的人工智能助手,旨在幫助您更快地編寫代碼,減少錯誤,並發現最佳的編碼實踐,而不必離開舒適的IntelliJ。 |
MyBatisCodeHelperPro (Marketplace Edition) | 功能和 MyBatisCodeHelperPro 完全相同! |
Code With Me | Code With Me 成為 IntelliJ IDEA 和其他基於 IntelliJ 的 IDE 中的新功能。 它使您可以與分布式團隊共享本地運行的項目。 這使他們能夠快速訪問您的代碼,從而可以幫助您實時調查問題,與您一起檢查代碼並進行處理。 同時仍然可以享受 JetBrains IDE 中提供的代碼自動補全、智能導航、重構、調試套件和內置終端的所有好處,協作開發。 |
Maven Helper | 使用Maven必須有插件。提供:簡單的方法來分析和排除沖突的依賴項。操作來運行/調試包含當前文件的模塊的maven目標,或在根模塊上操作打開終端,在當前maven模塊路徑操作來運行/調試當前測試文件。如果maven-surefire-plugin被配置為跳過或排除測試,將使用“verify”目標,請參閱https://github.com/harishkannarao/MavenSurefireFailsafeExamples上的不同配置樣式。 |
Rainbow Brackets | 彩虹括號。 |
Momo Code Sec lnspector (Java) | 本插件側重於在編碼過程中發現項目潛在的安全風險,並提供一鍵修復能力。 This plugin focus on the security risks and provides one-click fix capability。 |
Codota Al Autocomplete for Java and JavaScript | 為Java和JavaScript使用AI更好地完成代碼。Codota使用最先進的機器學習模型來提高工作效率,為開發人員節省時間。支持IntelliJ, Android Studio, WebStorm,和PhpStorm。 |
Translation | 翻譯插件。 |
Grep Console | Grep,尾部,過濾器,突出顯示...控制台所需的一切(JS / NPM / GoLand / ...不支持終端-IDEA-216442)。也可以突出顯示編輯器。 |
Key Promoter X | Key Promoter X可幫助您在工作時學習基本的快捷方式。當您在IDE內的按鈕上使用鼠標時,Key Promoter X會顯示您應該使用的鍵盤快捷鍵。這提供了一種簡單的方法來學習如何用鍵盤鍵代替繁瑣的鼠標工作,並有助於過渡到更快的無鼠標開發。 Key Promoter X工具窗口顯示了您最常使用的鼠標操作的命中列表,並直接為您提供了可以使用的快捷方式。對於沒有快捷方式的按鈕,Key Promoter X會提示您直接創建一個。 |
Material Theme UI | Material Theme UI是JetBrains IDE(IntelliJ IDEA,WebStorm,Android Studio等)的插件,可將原始外觀更改為Material Design外觀。 |
easy_javadoc | 本項目是IntelliJ IDEA的插件,能幫助java開發者自動生成javadoc文檔注釋 官方地址:https://github.com/starcwang/easy_javadoc |
AiXcoder Code Completer | aiXcoder 一款國產代碼開發工具,提供了比較強大的代碼補全、預測的功能,它的宗旨就是讓我們少些代碼,能自動生成的絕不手寫,上手感受下就會愛上它官方地址:https://github.com/aixcoder-plugin/doc |
String Manipulation | String Manipulation 一個比較實用的字符串轉換工具,比如我們平時的變量命名可以一鍵轉換駝峰等格式,還支持對字符串的各種加、解密(MD5 、Base64 等)操作官方地址:https://github.com/krasa/StringManipulation |
Git Auto Pull | 團隊多人開發項目時,由於頻繁提交代碼,等我在commit 本地代碼的時必須先進行pull ,否則就會代碼沖突產生merge 記錄。GitAutoPull 插件幫我們在push 前先進行pull ,避免了不必要的代碼沖突。 |
HighlightBracketPair | 括號開始結尾,高亮顯示 |
Save Actions | 支持可配置的、類似 Eclipse 的保存操作,包括“優化導入”、“重新格式化代碼”、“重新排列代碼”、“編譯文件”和一些針對 Java 的快速修復,如“添加/刪除‘這個’限定符”等。 插件當文件在磁盤上同步(或保存)時執行配置的操作 |
Eclipse Code Formatter | 允許直接從 IntelliJ 使用 Eclipse 的 Java 代碼格式化程序。解決了在同時使用 IDEA 和 Eclipse 的團隊環境中維護通用代碼風格的問題 |
Fast Request | Restful Fast Request 是一個強大的restful api工具包插件,可以根據已有的方法幫助您快速生成url和params。 Restful Fast Request = API調試工具+API管理工具。 它有一個漂亮的界面來完成請求、檢查服務器響應、存儲你的api請求和導出api請求 插件幫助你在IDEA界面內更快更高效得調試你的API 支持 Spring 體系 (Spring MVC / Spring Boot) |
MapStruct Support | MapStruct是一款基於Java注解的對象屬性映射工具,在Github上已經有4.5K+Star。使用的時候我們只要在接口中定義好對象屬性映射規則,它就能自動生成映射實現類,不使用反射,性能優秀,能實現各種復雜映射 |
IDEA 快捷鍵大全
參考地址:https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/keymap-introduce.md
- IDEA 中字母大小寫轉換快捷鍵:ctr + shift + u
Ctrl + Shift + alt + insert
新建文件
神奇的 Inject Language
如果你在使用 IDEA
在編寫 JSON
字符串的時候,然后要一個一個 \
去轉義雙引號的話,就實在太不應該了,又煩又容易出錯。在 IDEA
中可以使用 Inject language
幫我們自動的來轉義雙引號
先將焦點定位到雙引號里面,使用 alt + enter
快捷鍵彈出 inject language
視圖,並選中 Inject language or reference
選擇后, 切記,要直接按下 enter
回車鍵,才能彈出 inject language
列表。在列表中選擇 json
組件
選擇完成后。鼠標焦點自動會定位在雙引號里面,這個時候你再次使用 alt + enter
就可以看到如下圖
選中 Edit JSON Fragment
並回車,就可以看到編輯 JSON
文件的視圖了
可以看到 IDEA
確實幫我們自動轉義雙引號了。如果要退出編輯 JSON
信息的視圖,只需要使用 ctrl + F4
快捷鍵即可
Inject language
可以支持的語言和操作多到你難以想象,讀者可以自行研究
使用快捷鍵移動分割線
假設有下面的場景,某個類的名字在 project
視圖里被擋住了某一部分
那么這個時候,你想完整的看到類的名字,該怎么做。一般都是使用鼠標來移動分割線,但是這樣子效率太低了。可以使用 alt + 1
把鼠標焦點定位到 project
視圖里,然后直接使用 ctrl + shift + 左右箭頭
來移動分割線
不要動不動就使用 IDEA 的重構功能
IDEA
的重構功能非常強大,但是也有時候,在單個類里面,如果只是想批量的修改某個文本,大可不必使用到重構的功能。比如說:
上面的代碼中,有 5
個地方用到了 rabbitTemplate
文本,如何批量修改呢?首先是使用 ctrl + w
選中 rabbitTemplate
這個文本, 然后依次使用 5 次 alt + j
快捷鍵,逐個選中,這樣五個文本就都被選中並且高亮起來了,這個時候就可以直接批量修改了
IDEA 主題
以下這兩款是比較流行的,所以推薦以下需要的自行下載,可以去度娘搜索 IDEA 主題官網,當然我這里也提供了下載地址
Relax Your Eyes.jar
Sublime Text 2.jar
下載地址:https://files.cnblogs.com/files/BNTang/IDEA主題.zip
安裝方式:打開 idea,點擊 File → Import Settings,在彈出的窗口中選擇剛剛下載的主題包即可按照
插件式的主題我在下面推薦一些,自行參考,本人比較喜歡的
- Hiberbee Theme
IDEA 使用中遇到的問題
IntelliJ IDEA 自動添加空行問題:https://blog.csdn.net/caiyunlei91/article/details/107290656/
Idea 運行報錯 Error running 'Application': Command line is too long的解決方法:https://blog.csdn.net/weixin_43689480/article/details/100983585
關於 IDEA 菜單
舊版本升級到新版本
去IDEA官網下載最新版本下載地址:https://www.jetbrains.com/idea/
這個時候你本地已經有了一個版本的IDEA已經安裝了這個時候呢,你又下載好了最新的安裝吧,你直接運行最新版本的IDEA安裝包如下圖所示
點擊下一步,如下圖,把下圖的勾勾打上,這個勾勾所包含的內容有就是不卸載舊版本的配置,上面兩個勾勾就是說需不需要卸載舊版本的IDEA版本,我這里就不先卸載舊版本配置我是保留的,為了讓最新的IDEA使用我的舊版本的配置
之后的選項就可以按照你們個人來進行選擇了,如果你想和我的一樣你可以參考如下圖:
上面的那一步之后就是下一步下一步了就可以升級成功了,還有一種方式升級就是你平時在打開 IDEA 的時候右下角會彈出一個 update 的窗體,你點擊一下他就會去下載最新版本的 IDEA 的,如下圖所示
如果你發現有最新的版本了但是 IDEA 沒有主動的給你提示升級這個時候你就可以點擊 help
中的一個 checK for updates
如下圖所示:
關於搜索內容
連續按兩下 Shift,然后在顯示出來的框中輸入自己想查找的內容就行了,這個是 全局搜索
。按兩下 Ctrl 也可以搜索,不過不是全局搜索。以下是按兩下 Shift 出來的框子
以下是按兩下 Ctrl 出來的框子
系統菜單
可以使用 alt + 0 - 9 可以在不同的場景顯示你需要看到的系統菜單
在專注模式中如果想顯示文件欄,就是當前打開的所有文件,可以按照如下的方式進行設置
設置完成最終的效果如下圖所示:
單元測試
IDEA 中提供了一個可以快速的幫助我們來生成單元測試的類,具體操作如下,選擇你需要進行單元測試的方法或者內容,鼠標右鍵選擇 Go To
這是2020.3.1版本的IDEA生成方式,好像老版本的不是這個,但是八九不離十,你看到圖中,Test 那里是不是有一個快捷鍵當然也是可以使用的,快捷鍵為 Ctrl + Shift + T
點擊之后的效果圖如下,生成之后就可以自行測試啦,完畢
部分插件使用文檔
熱部署項目
什么是熱部署,代碼發生變化時,不需要重新啟動服務器,首選需要安裝 jrebel
插件安裝方式如下
然后在讓項目支持 jrebel
那么如何才可以讓項目支持呢,如下圖所示
配置 jrebel 每隔多久自動更新一次代碼配置方式如下,點擊下圖中的 work online
為離線狀態
jrebel 的破解可參考:https://active.jrebel.cn