天天看點

牛逼!IntelliJ IDEA 從入門到上瘾!

本文共計 1.5 W 字,80 張圖介紹 IDEA 中令人相見恨晚的技巧,本文中從入門、簡單項目建立開始,介紹 IDEA 中多光标操作、常用配置、插件、版本控制等等。一定包含你在别的文章沒有看到的内容,對了,我把全網 IDEA 相關的優質内容聚合了起來,放在了 GitHub 上,倉庫名為:awesome-IntelliJ-IDEA

位址:github.com/xiaoxiunique/awesome-IntelliJ-IDEA

本文章目錄如下:

1. 建立項目

  • 建立項目
  • 建立包、Class
  • 編碼
  • 打包
  • ...

2. 操作基礎

  • 光标操作
  • 數列光标
  • 行尾添加光标
  • 指定位置添加光标操作
  • 格式批量調整
  • 批量添加屬性注釋
  • 提取 Json 字段資訊

3. IDEA 常用快捷鍵

4. IDEA 常用設定

  • 新視窗的形式打開多個項目
  • 編碼問題
  • 設定編譯器
  • 設定類注釋
  • 自動導包
  • 記憶體使用量展示
  • 開啟懸浮提示
  • 修改字型大小
  • 顯示多行 Tab
  • 設定字型、行距
  • GIT 配置
  • MAVEN 配置

5. IDEA 常用插件

  • AlibabaCloudToolkit
  • Git Flow
  • PlantUML
  • Rainbow Brackets
  • Alibaba Java Coding Guidelines
  • 翻譯插件
  • mybatis 插件
  • IntelliJ Lombok plugin
  • GenAllSetter
  • GenDaoCode
  • CodeGlance
  • RestfulToolkit
  • Grep Console
  • MyBatis Log Plugin
  • GsonFormat
  • VisualVm Launcher
  • jclasslib bytecode viewer
  • Codota
  • Auto filling Java call arguments
  • SequenceDiagram
  • Java Stream Debugger
  • Ace Jump

6. IDEA 好看字型

  • Consolas
  • JetBrainsMono

7.  版本控制

  • 檢視每一行代碼的條件人, 送出時間
  • 克隆遠端代碼
  • 拉取遠端代碼
  • 将暫存區代碼送出到本地庫
  • 将本地庫 送出到遠端庫
  • 切換分支, 或拉取遠端分支
  • 檢視目前打開類 曆史記錄
  • Stash
  • Check Out

8. Terminal 配置

接下展示如何建立、運作和打包一個列印 Hello,World 的簡單 Java 應用程式!在此過程中,算是入門過程,你将熟悉 IntelliJ IDEA 特性,以提高作為開發人員的工作效率: 編碼輔助和補充工具。

後面會介紹 IDEA 中一些高階操作,大可提升你的效率,一定看到最後哦。

建立一個新的 Java 項目

在 IntelliJ IDEA 中,一個項目可以幫助您将源代碼、測試、使用的庫、建構說明和個人設定組織到一個單元中。

1. 啟動 IntelliJ IDEA。

如果打開歡迎螢幕,請單擊“建立項目”。否則,從主菜單中選擇 File | New | Project。

2. 在 New Project 向導中,從左側的清單中選擇 Java。

3. 要在 intellijidea 中開發 Java 應用程式,您需要 javasdk (JDK)。

如果所需的 JDK 已經在 IntelliJ IDEA 中定義,那麼從 Project SDK 清單中選擇它。

如果 JDK 安裝在您的計算機上,但是沒有在 IDE 中定義,那麼選擇 Add JDK 并指定 JDK home 目錄的路徑(例如,/library/java/javavialmachines/JDK-13.0.1)。

牛逼!IntelliJ IDEA 從入門到上瘾!

如果您的計算機上沒有必要的 JDK,選擇 Download JDK。在下一個對話框中,指定 JDK 供應商(例如 OpenJDK)、版本,如果需要則更改安裝路徑,然後單擊 Download。

牛逼!IntelliJ IDEA 從入門到上瘾!

在本教程中,我們不打算使用任何其他庫或架構,是以請單擊“下一步”。不要從模闆建立項目。在本教程中,我們将從頭開始執行所有操作,是以請單擊“下一步”。

為項目命名,例如:HelloWorld。 如有必要,請更改預設項目位置并單擊“完成”。

牛逼!IntelliJ IDEA 從入門到上瘾!

建立 package 和 class

包用于将屬于同一類别或提供類似功能的類組合在一起,用于構造群組織具有數百個類的大型應用程式。

1. 在 Project 工具視窗中,選擇 src 檔案夾,按 Alt + Insert,然後選擇 Java Class

2. 在 Name 字段中,鍵入 com.example.HelloWorld. HelloWorld 并單擊 OK. IntelliJ IDEA 建立 com.example.HelloWorld 包和 HelloWorld 類。

牛逼!IntelliJ IDEA 從入門到上瘾!

與該檔案一起,IntelliJ IDEA 自動為您的類生成了一些内容。在這種情況下,IDE 插入了包語句和類聲明。這是通過檔案模闆來完成的。根據您建立的檔案的類型,IDE 插入初始代碼和預期在該類型的所有檔案中存在的格式。有關如何使用和配置模闆的詳細資訊,請參閱檔案模闆。

開始編碼

通過動态模闆增加 main 方法

牛逼!IntelliJ IDEA 從入門到上瘾!

輸出 print 方法

牛逼!IntelliJ IDEA 從入門到上瘾!

運作方法

牛逼!IntelliJ IDEA 從入門到上瘾!

将工程打包為 Jar 包

牛逼!IntelliJ IDEA 從入門到上瘾!
牛逼!IntelliJ IDEA 從入門到上瘾!

如果你能看到 out/artifacts 檔案夾,那麼你将能看到 Jar 包

牛逼!IntelliJ IDEA 從入門到上瘾!

運作打包的應用程式,執行 Jar 就行了。

當你會建構一個應用程式了,接下來就是一些基礎操作,你可能不知道的基礎操作。為什麼使用 IDE?不就是因為想提高效率麼?很多有用的特性都不知道,怎麼提高效率?

在相同内容後生成光标,一個一個選擇 :

具體什麼意思可以看下面這個動圖就行了,需要配合快捷鍵使用,可以在相同的關鍵字後面生成光标,這樣删除、修改添加新的代碼不就友善了嗎?

  • Windows:Alt + J
  • Mac: Ctrl + G
牛逼!IntelliJ IDEA 從入門到上瘾!

在所有的相同的内容後添加光标,一步到位:

使用快捷鍵就能在所有的 word 後生成光标

  • Windows:Ctrl + Shift + Alt + J
  • Mac: Ctrl + Command + G
牛逼!IntelliJ IDEA 從入門到上瘾!

數列光标:

方法:alt + 按住滑鼠左鍵拖動就能達到下面動圖的效果了,效率 max!

牛逼!IntelliJ IDEA 從入門到上瘾!

行尾添加光标 

alt + 按住滑鼠左鍵拖動,從左側拖動到右側。

牛逼!IntelliJ IDEA 從入門到上瘾!

在指定位置添加光标操作 

牛逼!IntelliJ IDEA 從入門到上瘾!

牛逼!IntelliJ IDEA 從入門到上瘾!

将上訪左側的代碼批量變為右側代碼

ctrl + alt + enter 将光标移動到目前行的上一行
牛逼!IntelliJ IDEA 從入門到上瘾!

批量添加 Swagger 屬性注釋

牛逼!IntelliJ IDEA 從入門到上瘾!

将上圖左側隻有注釋的類,添加上 swagger 資訊

牛逼!IntelliJ IDEA 從入門到上瘾!

在多個相同結構 Json 中提取某字段資訊

牛逼!IntelliJ IDEA 從入門到上瘾!

提取左側 Json 中所有的 role 字段

牛逼!IntelliJ IDEA 從入門到上瘾!

3. IDEA 常用快捷鍵

上面介紹了一些配合滑鼠使用的快捷鍵,還有一些常用快捷鍵。

方法參數提示

ctrl + p

非常實用的快捷鍵, 有的時候我們自己寫的方法, 或者在看一些源碼時, 都非常有用

文本大小寫轉換

ctrl + shift + U

折疊代碼/展開代碼

ctrl + - / ctrl + +

全局查找文本

ctrl + shift + F

快速查找和打開最近使用過的檔案碼

ctrl + E

自動代碼片

ctrl + j

實作接口方法

ctrl + i

檢視目前類的子類

ctrl + h

将目前行和下一行進行合并

ctrl + shfit + j

将光标跳到目前行的上一行

有時候在寫完一行代碼的時候需要添加注釋, 或者為類屬性添加注釋的時候需要跳到目前行的上一行, 這個快捷鍵就非常友善

ctrl + alt + enter

idea git 送出

ctrl + k

删除目前行

ctrl + y

重寫 或者 實作接口或父類方法

ctrl + o

顯示類之間的關系

ctrl + alt + u

删除類中沒有用到的 package

ctrl + alt + o

進入設定界面

ctrl + alt + s

在目前光标在的這樣一行的下一行添加一行

ctrl + shfit + enter

彈出, 目前類中的方法集合

ctrl + F12

最常用的快捷鍵之一, 快速的查找方法

添加書簽

ctrl + F11

搜尋檔案

ctrl + shift + n

搜尋類合

ctrl + n

最常用的快捷鍵之一, 項目慢慢的變大, 檔案越來越多, 每次用滑鼠去找 就太低效了
快速生成 try, if 等語句

alt + shift + t

當你試用了之後, 你會愛上這個快捷鍵的

抽取局部變量

ctrl + alt + v

将目前選中的代碼抽取為一個局部變量

進入到實作子類中

ctrl + alt + b

在使用mvc架構的時候, 往往我們隻有一個接口的執行個體 這個快捷鍵可以直接到實作類中

格式化代碼

讓代碼變得優美, 是每個程式員都應該注意的事, 友善自己和他人閱讀, 利人利己

idea 多光标選擇

按下滾輪上下拖動滑鼠即可

ctrl + alt + L

idea 批量修改相同内容

ctrl + alt + shift + j

有的時候資料需要批量處理, 比如, 正常來說我們的實體類, 在使用mybatis 等逆向工程進行生成的時候, 一般屬性是有注釋的, 但是在針對如果我們使用了swagger 等插件需要來顯示傳遞實體所代表的含義的時候, 就需要我們自己一個個的去寫, 就會顯得異常麻煩

運作目前類

ctrl + shift + F10

在寫一些測試代碼的時候 這個快捷鍵就顯得特别友善

從多項目中啟動一個 debug 模式

alt + shfit + F9

在微服務中 多個工程在一個項目中的時候, 這個方法就比較的好用, 這樣就不用自己一個一個的去點省去很多沒必要的操作

從多項目中啟動一個 正常模式

alt + shfit + F10

重新編譯目前項目

ctrl + shift + F9

當你發現有的問題 特别的奇怪, 命名表面上沒問題, 但就是項目運作不了的時候, 重新編譯一下擷取就好了

檢視目前類在哪些地方被使用過

快速的檢視選中類, 選中方法的定義
有的時候我們不想進入方法内部, 或者進入類的内部檢視細節, 想要在外面就探查清楚, 就可以使用此種方法

ctrl + shift + i

牛逼!IntelliJ IDEA 從入門到上瘾!

比較強大的幾個快捷鍵之一 Ctrl + ~ (感歎号旁邊的按鍵)

共有五種可供選擇的操作

Switch Code Formatter (切換代碼格式化程式)

1. Color Scheme (配色方案)

可以設定一些常用的配色, 字型樣式, 可以一鍵切換

牛逼!IntelliJ IDEA 從入門到上瘾!

2. Code Style Scheme

3. Keymap (快捷鍵清單)

牛逼!IntelliJ IDEA 從入門到上瘾!

4. View Mode (顯示模式)

牛逼!IntelliJ IDEA 從入門到上瘾!

5. Look and Feel (設定軟體主題)

idea 調出版本控制操作

alt + ~

4. IDEA常用設定

IDEA 以新視窗的形式打開多個項目

File - Settings - Appearance & Behavior - System Settings
牛逼!IntelliJ IDEA 從入門到上瘾!

修改 IDEA 預設編碼 -> UTF-8

File - Settings - Editor - File Encodings
牛逼!IntelliJ IDEA 從入門到上瘾!

設定統一編譯器和編譯版本

File - Setting - Build - Compiler - Java Compiler
牛逼!IntelliJ IDEA 從入門到上瘾!

File - Editor- File and Code Templates
牛逼!IntelliJ IDEA 從入門到上瘾!

$$end$$ 可以設定光标結束的位置

File - Editor- General - Auto Import
牛逼!IntelliJ IDEA 從入門到上瘾!

由于日常開發時都是在公司的辦公電腦上進行的,是以記憶體總是不夠用,但是又不清楚 IDEA 具體實時的占用了多少記憶體。這個時候對于一些記憶體并不是太夠的開發人員來說能看到實時的記憶體使用量還是比較好的

File - Settings - Appearance & Behavior

牛逼!IntelliJ IDEA 從入門到上瘾!

有時候在看代碼的時候,不清楚一個類具體是幹什麼的,就會點進去看這個類的注釋,但是強大的 IDEA 是支援不用點進去就可以看到注釋的以及類的相關資訊的。

File - Settings - Editor - General

牛逼!IntelliJ IDEA 從入門到上瘾!

Ctrl+滑鼠滾軸修改字型大小

IDEA 也支援向浏覽器那樣按住 Ctrl+滑鼠滾軸來改變編輯區的字型的大小

File-->Settings-->Editor-->General。

牛逼!IntelliJ IDEA 從入門到上瘾!

當我們打開的标簽頁多了的時候,預設的會隐藏在右側,當我們需要的時候在右側找到後再打開。IDEA 是支援多行顯示的,這樣在大螢幕的顯示器上也不用總去點選右側的去找剛才打開過的檔案了

File - Settings - Editor - General - Editor Tabs

牛逼!IntelliJ IDEA 從入門到上瘾!

設定字型, 行距 讓代碼看着更舒服

File - Settings - Editor - Font
牛逼!IntelliJ IDEA 從入門到上瘾!

IDEA GIT 配置

File - Settings - Version Control - Git
牛逼!IntelliJ IDEA 從入門到上瘾!

IDEA MAVEN 配置

File - Settings - Build - Build Tools - Maven
牛逼!IntelliJ IDEA 從入門到上瘾!

maven 阿裡鏡像配置

<mirror>
    <id>nexus</id>
    <mirrorOf>*</mirrorOf>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
      

自動編譯

具體步驟:頂部工具欄 File ->Other Settings -> Default Settings -> Auto Import

說明:開啟自動編譯之後,結合Ctrl+Shift+F9 會有熱更新效果。

牛逼!IntelliJ IDEA 從入門到上瘾!

具體步驟:敲擊 Ctrl + Shift + Alt + / 然後輕按兩下Shift搜尋進入Registry ,找到compiler.automake.allow.when.app.running ,然後勾選上。

牛逼!IntelliJ IDEA 從入門到上瘾!
牛逼!IntelliJ IDEA 從入門到上瘾!

最後 如果想知道SpringBoot如何具體實作熱部署的請點選SpringBoot+IDEA實作熱部署教程:

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

取消大小寫敏感

具體步驟:

File | Settings | Editor | General | Code Completion Case | Sensitive Completion = None

取消大小敏感,在編寫代碼的時候,代碼的自動提示将更加全面和豐富。

牛逼!IntelliJ IDEA 從入門到上瘾!

調整字型類型和字型大小

預設的白色背景和細小的字型會影響大家的編碼體驗,這裡特意提供了調整代碼窗的快捷配置。打開配置,搜尋Font,然後再Font可以調整字型類型,Size可以調整字型大小,如圖:

牛逼!IntelliJ IDEA 從入門到上瘾!

将快捷鍵設定為跟Eclipse一樣

很多人可能并不習慣IDEA的快捷鍵,為了友善,這裡我們将快捷鍵設定為跟 Eclipse一樣。

具體步驟: File -> Settings -> Keymap - > 選擇Eclipse .

牛逼!IntelliJ IDEA 從入門到上瘾!

從Eclipse轉過來的小夥伴 可以放心使用

打開常用工具欄

具體步驟:頂部導航欄 - View -> 勾選 Toolbar & Tool Buttons

這個插件更加适用于小型項目,或者在測試環境開發。生産環境 個人感覺不太适用。

個人經常會有這樣的需求,每次自己更新完測試環境之後, 就需要 Maven 打包clean install, 然後copy jar 包, 利用ftp工具上傳jar包到測試伺服器, 然後kill 服務, 在啟動服務 java -jar , 有時更新頻繁 這就是一件非常麻煩的事

Cloud Toolkit 是本地 IDE 插件,幫助開發者更高效地開發、測試、診斷并部署應用。通過插件,您可以将本地應用一鍵部署到雲端(ECS、EDAS 和 Kubernetes 等)和任意伺服器;并且它還内置了 Arthas 程式診斷、Dubbo工具、Terminal Shell 終端和 MySQL 執行器等工具。

官方連結:https://www.aliyun.com/product/cloudtoolkit

簡單的說, 安裝了這個插件之後,Idea 就具備了一些 Jenkins 的自動部署的功能

1 安裝

在 Idea 工具中 Plugins 直接搜尋安裝

2 使用

在安裝完成之後, 在工具欄中就會出現阿裡雲的按鈕, 點選按鈕

牛逼!IntelliJ IDEA 從入門到上瘾!

然後點選 Deploy to Host, 然後下方就會出現添加主機頁面

牛逼!IntelliJ IDEA 從入門到上瘾!

點選 Add Host

牛逼!IntelliJ IDEA 從入門到上瘾!

以我自己的部落格為例, 輸入完配置之後, 點選 Test Connection, 出現 Succeeded, 點選 add, 代表添加成功

牛逼!IntelliJ IDEA 從入門到上瘾!

然後再點選 Deploy to Host

牛逼!IntelliJ IDEA 從入門到上瘾!

點選Run, idea 便會, 先使用maven打包, 後發送到伺服器的指定位置

牛逼!IntelliJ IDEA 從入門到上瘾!
牛逼!IntelliJ IDEA 從入門到上瘾!

後續還可以 監聽啟動日志, 很簡單, 就是 Advanced 裡面, 大家看看就知道了,

後續有時間再完善筆記吧

IDEA 插件 Git Flow

插件作用:內建 Git Flow 讓我們更加專注在 開發 這件事上。

Git Flow:

https://medium.com/@rafavinnce/gitflow-branch-guide-8a523360c053

安裝

牛逼!IntelliJ IDEA 從入門到上瘾!

使用

最開始還沒有初始化的時候,點選右下腳 GitFlow init

牛逼!IntelliJ IDEA 從入門到上瘾!

直接 預設 設定就好,點選 Ok 之後,就可以開始使用了。

牛逼!IntelliJ IDEA 從入門到上瘾!

按照最規範的流程走,可以避免在未來某個階段掉坑裡。

Git 版本管理規範:

master:永遠處于production-ready狀态

  • 主分支,産品的功能全部實作後,最終在master分支對外釋出;
  • 隻讀分支,隻能從release或hotfix分支合并,不能修改;
  • 所有在master分支的推送應該做标簽記錄,友善追溯。

develop:最新的下次釋出的開發狀态

  • 主開發分支,基于master分支克隆,釋出到下一個release;
  • 隻讀分支,feature功能分支完成,合并到develop(不推送);
  • develop拉取release分支,提測;
  • release/hotfix分支上線完畢,合并到develop并推送。

feature:開發新功能都從develop分支出來,完成後merge回develop

  • 功能開發分支,基于develop分支克隆,用于新需求的開發;
  • 功能開發完畢後合并到develop分支(未正式上線之前不能推送到遠端中央倉庫)
  • feature可以同時存在多個,用于團隊多功能同步開發,屬于臨時分支,開發完畢後可以删除。

release:準備要release的版本,隻修bug。從develop出來,完成後merge回master和develop

  • 測試分支,feature分支合并到develop分支之後,從develop分支克隆;
  • 隻要用于送出給測試人員進行功能測試,測試過程中如果發現BUG在release分支修複,修複完成上線後合并到
  • develop/master分支并推送完成,做标簽記錄;
  • 臨時分支,上線後可删除。

hotfix:等不及release版本就必須馬上修複master上線。從master出來,完成後merge回master和develop

  • 更新檔分支,基于master分支克隆,主要用于對線上的版本進行BUG修複;
  • 修複完畢後合并到develop/master分支并推送,做标簽記錄;
  • 所有hotfix分支的修改會進入到下一個release;
  • 臨時分支,更新檔修複上線後可以删除;

IDEA 插件 PlantUML

1. 背景

之前介紹過 使用 Vscode 畫 UML,實際上 idea 中也有類似的插件 可以畫 UML 圖。

PlantUML 文法:https://plantuml.com/zh/component-diagram

安裝插件安裝位址:

https://plugins.jetbrains.com/plugin/7017-plantuml-integration

在安裝完官方的插件之後,還需要額外安裝一個 graphviz ,不然有的複雜的用例圖就沒辦法展示了。

graphviz:https://graphviz.org/download/

2. windows 安裝

choco install graphviz

建立檔案 - PlantUML File - 選擇想要建立的類型
牛逼!IntelliJ IDEA 從入門到上瘾!

流程圖

牛逼!IntelliJ IDEA 從入門到上瘾!

流程圖 CODE

牛逼!IntelliJ IDEA 從入門到上瘾!

 用例圖

牛逼!IntelliJ IDEA 從入門到上瘾!

用例圖 Code

@startuml
left to right direction

actor 普通 as User
actor 稽核 as Aduitor
actor 編輯 as Editor
actor 營銷 as Marketing
actor 營運 as Operator
actor 管理者 as Admin


Admin --|> User

rectangle 社群 {
  User -- (檢視文章)
  User -- (釋出文章/文章)

  (文章管理) <|-- (置頂)
  (文章管理) <|-- (稽核)
  (文章管理) <|-- (推薦)
  (文章管理) <|-- (删除)

  (社群營運) <|-- (文章管理)
   Operator -- (社群營運)
   Aduitor -- (社群營運)
   Editor -- (社群營運)
   Marketing -- (社群營運)

  (App 配置) <|-- (商品圖檔配置)
  (App 配置) <|-- (啟動頁配置)
  (App 配置) <|-- (活動 Banner)
  (App 配置) <|-- (互動 Banner)
  (App 配置) <|-- (商城配置)
  (App 配置) <|-- (功能配置)
  (App 配置) <|-- (産品配置)
  (App 配置) <|-- (系統配置)
  (App 配置) <|-- (新人禮包)
  (App 配置) <|-- (個人中心)
  (App 配置) <|-- (管道配置)
  Admin -- (App 配置)
}
@enduml
      

類圖

牛逼!IntelliJ IDEA 從入門到上瘾!

彩虹括号 ???? Rainbow Brackets

由于很多人沒有養成好的編碼風格,沒有随手 format 代碼的習慣,甚至有些同僚會寫代碼超過幾百行,閱讀起來将非常痛苦。

痛苦的原因之一就是找到上下文,由于括号太多,不确定目前代碼行是否屬于某個代碼塊,此時這個插件就會幫上大忙.

界面效果

牛逼!IntelliJ IDEA 從入門到上瘾!

動圖

牛逼!IntelliJ IDEA 從入門到上瘾!

阿裡巴巴編碼規範:Alibaba Java Coding Guidelines

實時監測代碼的規範性, 從代碼層面減少空指針等異常的出現,阿裡巴巴出品的Java代碼規範插件, 可以掃描整個項目找到不規範的地方 并且大部分可以自動修複。

雖說檢測功能沒有 findbugs 強大,但是可以自動修複, 阿裡巴巴 Java 編碼指南插件支援。

讓代碼變得更規範, 是我們每一位程式員都應該記在心中的事。

變量駝峰命名規範

牛逼!IntelliJ IDEA 從入門到上瘾!

當滑鼠移到變量上時, 就會自動提示 不符合 lowerCamelCase命名風格

字元串比較提示 equals

public static void main(String[] args) {
    String str = null;

    if (str.equals("test")) {
      System.out.println("success");
    }
}
      

WARNING

當我們初學 Java時, 很有可能會犯這樣的錯誤, 這裡很明顯會報空指針異常, 而在編輯器中

牛逼!IntelliJ IDEA 從入門到上瘾!

安裝插件之後, 編輯器已經給出詳細提示,"test“ 應該做為 equals方法的調用方, 并給出了原因, 應為這樣很容易導緻空指針異常, 并給出了例子

當你的類命名不規範時

比如我建立了一個測試類 test.java,就會出現如下提示

牛逼!IntelliJ IDEA 從入門到上瘾!

類名,首字母需要大寫。缺少作者注釋。

mybatis 插件:Free Mybatis plugin

安裝此插件後可以節約很多的開發時間, 在 mapper 層接口可以直接進入 xml檔案中

Lombok pom.xml 檔案配置

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>
      
生命很寶貴, 沒有必要浪費在這個重複的工作上, 尤其是如果我們使用傳統的 get set 方法, 在實體類進行變更的時候, 或多添加了列, 或減少了列, 又要重新生成對應的 get set 這難道不就是浪費時間浪費生命嗎?

還不熟悉使用的可以看這篇文章,Java 開發之 Lombok 必知必會:

juejin.im/post/5cf3edf7e51d454f71439c79

在 Java 方法中, 根據 new 關鍵詞, 為 Java Bean 生成所有Setter方法。按 GenAllSetter 鍵兩次, 會為 Setter 方法生成預設值。

一鍵生成 dao xml service

在右側生成代碼地圖

一套 Restful 服務開發輔助工具

  • 1.根據 URL 直接跳轉到對應的方法定義 ( Ctrl \ or Ctrl Alt N );
  • 2.提供了一個 Services tree 的顯示視窗;
  • 3.一個簡單的 http 請求工具;
  • 4.在請求方法上添加了有用功能: 複制生成 URL;,複制方法參數...
  • 5.其他功能: java 類上添加 Convert to JSON 功能,格式化 json 資料 ( Windows: Ctrl + Enter; Mac: Command + Enter )。

高亮log不同級别日志,看日志的時候一目了然。

把 Mybatis 輸出的sql日志還原成完整的sql語句,看起來更直覺。

快速的講一個 json轉換為一個實體 安裝完插件後 alt + s 放入正确的 json格式
牛逼!IntelliJ IDEA 從入門到上瘾!

運作java程式的時候啟動visualvm,友善檢視jvm的情況 比如堆記憶體大小的配置設定

某個對象占用了多大的記憶體,jvm調優必備工具

一款可視化的位元組碼檢視插件

支援智能代碼自動提示,該功能可以增強 IDEA 的代碼提示功能。

支援 JDK 和知名第三方庫的函數的使用方法搜尋,可以看到其他知名開源項目對該函數的用法。當我們第一次使用某個類,對某個函數不夠熟悉時,可以通過該插件搜尋相關用法,快速模仿學習。

開發中,我們通常會調用其它已經編寫好的函數,調用後需要填充參數,但是絕大多數情況下,傳入的變量名稱和該函數的參數名一緻,當參數較多時,手動單個填充參數非常浪費時間。

該插件就可以幫你解決這個問題。安裝完該插件以後,調用一個函數,使用 Alt+Enter 組合鍵,調出 “Auto fill call parameters” 自動使用該函數定義的參數名填充。

痛苦的原因之一就是找到上下文,由于括号太多,不确定目前代碼行是否屬于某個代碼塊,此時這個插件就會幫上大忙。

SequenceDiagram 可以根據代碼調用鍊路自動生成時序圖,超級贊,超級推薦!

這對研究源碼,梳理工作中的業務代碼有極大的幫助,堪稱神器。

安裝完成後,在某個類的某個函數中,右鍵 --> Sequence Diagaram 即可調出。

Stream 非常好用,可以靈活對資料進行操作,但是對很多剛接觸的人來說,不好了解。

那麼 Java Stream Debugger 這款神器的 IDEA 就可以幫到你。它可以将 Stream 的操作步驟可視化,非常有助于我們的學習。

下面是剛剛介紹的這些插件的名字。

6. 好看字型

最近JetBrains公司推出了一款優雅美觀的字型:JetBrainsMono。

對比 Consolas

對比之前一直在使用 Consolas 字型

牛逼!IntelliJ IDEA 從入門到上瘾!
牛逼!IntelliJ IDEA 從入門到上瘾!

下載下傳字型

官網下載下傳:https://www.jetbrains.com/lp/mono/

堅果雲下載下傳:jianguoyun.com/p/DRPh-GkQ_7eJCBiv2uMC

Windows 安裝

牛逼!IntelliJ IDEA 從入門到上瘾!
  • 下載下傳後,解壓檔案
  • 直接輕按兩下擴充名為 tff 字尾的檔案
  • 重新開機 IDEA
  • Perferences/Setting -> Editor -> Font,選擇 JetBrains Mono 确認即可

7. 版本控制 

這裡主要盤點一下在 IDEA 中進行版本控制時,大部分人沒注意到的一些細節吧,主要包括下面這寫。

  • 檢視每一行代碼的條件人, 送出時間(大部分人不知道)
牛逼!IntelliJ IDEA 從入門到上瘾!

選擇後入下圖所示

牛逼!IntelliJ IDEA 從入門到上瘾!

滑鼠移動上去還能看到送出詳細資訊

牛逼!IntelliJ IDEA 從入門到上瘾!
git clone origin url

正常操作

牛逼!IntelliJ IDEA 從入門到上瘾!

裝逼操作

牛逼!IntelliJ IDEA 從入門到上瘾!
git pull
牛逼!IntelliJ IDEA 從入門到上瘾!

快捷方式

ctrl + t

git commit -m 'message'
牛逼!IntelliJ IDEA 從入門到上瘾!
牛逼!IntelliJ IDEA 從入門到上瘾!
git push
牛逼!IntelliJ IDEA 從入門到上瘾!

快捷鍵

ctrl + shif 或 alt + 1 + 8

切換分支, 或拉取遠端分支
      
牛逼!IntelliJ IDEA 從入門到上瘾!

以下提供幾種快捷方式

ctrl + shift + ` 或 alt + ~ + 7 或
      
牛逼!IntelliJ IDEA 從入門到上瘾!
alt + ~ + 4
檢視項目工程曆史記錄
      

選中工程後

alt + ~ + 4

      

或 alt + 9 切換到 Version Control 面闆 選擇log

牛逼!IntelliJ IDEA 從入門到上瘾!

應用場景

我在本地修改好後,發現遠端分支已經被改動了,此時我本地也被改動了就造成了沖突,無法push或者pull。此時可以使用git stash

git stash //把本地的改動暫存起來
git pull //拉取遠端分支(此時本地分支會復原到上次commit的情況,新的改動都存在了stash中)
git stash pop // 将棧頂改動重新加回本地分支,就可以繼續修改了,當然,如果改好了就是add,commit,push啥的。。
      

不小心改動了其他分支,例如忘記切換,直接在master分支上做改動,這裡假設我的分支是test分支

git stash //把本地目前改動暫存起來,此時master分支就恢複到了上次拉取時的狀态
git checkout test //切換到需要改動的分支
git stash pop //将改動pop到自己目前的分支
      

Idea 将現在本地的修改存儲在 Stash 中alt + ~加 9

牛逼!IntelliJ IDEA 從入門到上瘾!

将 Stash 中的代碼還原

牛逼!IntelliJ IDEA 從入門到上瘾!

将本地修改的代碼還原對應指令 git checkout <file>

8. Terminal 配置

将 Idea 的 Terminal 改為 Git Bash。使用體驗翻倍

牛逼!IntelliJ IDEA 從入門到上瘾!

以前用着這麼惡心的 CMD Terminal 我居然沒有想法去修改。設定看圖

牛逼!IntelliJ IDEA 從入門到上瘾!