1 概述
IDEA全稱IntelliJ IDEA,主要用於Java開發的IDE,代碼自動提示,重構,JUnit,代碼分析等的功能非常牛逼,這篇文章首先介紹目前為止IDEA最新版本的特性,然后從UI,常用設置,快捷鍵,插件四個部分去食用IDEA.文章內容有點長,慢慢細品.
2 新版本特性
JetBrains在2020年4月9日發布了目前最新的版本:IntelliJ IDEA 2020.1.下面來看看新版本的特性:
2.1 中文
界面支持中文了,需要安裝一個叫
Chinses(Simplified) Language Pack
的插件,這個插件是官方提供的.
至於漢化效果....不清楚,筆者不用哈哈.
2.2 Java14
新版本支持Java14,另外可以直接從IDE中下載JDK,不過下載源沒有Oracle的...
2.3 LightEdit模式
就是作為簡單的文本編輯器模式,無需創建或加載整個項目,就可以在類似文本編輯器中快速修改獨立文件.
可以直接右鍵文件選擇IDEA或者使用命令行打開:
界面非常清爽,啟動速度非常快,同時菜單欄只剩下了4個:
2.4 禪模式ZenMode
這個模式超贊啊,結合了原來的免打擾模式和全屏模式.
2.5 javadoc渲染
需要設置中開啟:
打開一個源碼文件,快捷鍵Ctrl+Alt+Q,渲染后可以調節字體大小.
2.6 導航欄
可以定位到具體字段或方法.
2.7 改進Http Client
可以補全URL路徑:
並且對於Spring MVC可以直接創建或者打開現有的HTTP請求文件並導航到HTTP Client:
2.8 其他
- 終端拆分:
- JBR11:
JBR8成為歷史,徹底過渡到JBR11:
- IntelliJ Light與Windows10 Liight主題:
- 新字體:JetBrains Mono(支持連字哦):
更多新特性請看官網,戳這里.
3 UI篇
好了,新特性看完了,下面看看如何做出一個漂亮的IDEA.
3.1 背景
一個好看的IDE怎么能沒有背景?
可以選擇透明度和縮放方式,提供了預覽:
整體效果:
3.2 主題
一個好看的IDE怎么能沒有一個好看的主題?
戳這里下載主題.
筆者用的是Monokai Sublime Text 3:
下載之后,從Fille處導入:
提示窗口ok就行,然后重啟:
(這里真心吹一下這個主題...不得不說真的漂亮)
3.3 字體
嗯...字體...這個賊重要!!!
推薦使用等寬字體,例如:
Source Code Pro:
Consolas:
Droid Sans Mono:
或者新字體也不錯JetBrains Mono:
下面看看連字字體,首先開啟連字設置:
新字體JetBrains Mono是支持連字的:
另一個要推薦的連字字體是Fira Code:
也很不錯.
3.4 整體風格
3.4.1 字體大小
如果覺得菜單欄字體小的話可以調大一點,字體建議不要改,改大小就好.
3.4.2 UI元素以及模式切換
建議為工具欄,工具窗口欄,狀態欄以及導航欄設置一個快捷鍵,然后可以快速切換一個簡潔模式.
另外為全屏模式/免打擾模式/禪模式設置一個縮寫詞也是一個不錯的選擇,方便快速切換:
推薦為其中一個綁定一個鼠標快捷鍵,比如中鍵單擊,這樣就可以中鍵單擊切換.
3.4.3 側欄窗口
非必要固定建議改成Undock,滑動效果非常不錯:
3.4.4 編輯器
第一個是Soft-Wrap,就是對於太長的行顯示成多行,但並沒有實際插入換行符,相對的是Hard Wrap,可以在Editor->Code Style中設置.
第二個會對Tab進行顯示:
第三個顯示行數,第四個是側欄圖標:
關閉后:
第五個是縮進引導線:
第六個"面包屑"(實際上是個導航欄,概念來自童話故事"漢賽爾和格萊特"):
第七個是import時的彈出的窗口.
4 常用設置篇
這部分包含了一些常用的而且有用的設置.
4.1 控制台
Windows下的終端有很多,除了自帶的cmd ,powershell ,還有Fluent Terminal,Windows Terminal,ConEmu,Hyper,Cmder,wsl等等,隨便美化一下都很不錯:
沒錯來曬終端了.
先來自帶的powershell(感謝偉大的oh-my-posh):
Fluent Terminal:
Windows Terminal:
VSCode集成效果:
至於IDEA...顯示有點問題,就不截圖了,圖形顯示得有點奇怪,可能是windows上的終端支持得不夠好.
搞了這么多最后還是決定把終端給關了(老老實實用Windows Terminal...)
IDEA的終端是一個插件,不需要的話關了就好,如果需要的話,可以直接搜索Terminal,在shell Path這里設置默認終端的路徑(默認cmd),搜索Console Font修改字體.
4.2 自動去除未引用的包
Editor-Gereral-Auto Import:
4.3 編碼統一UTF8
4.4 JDK
建議JDK統一.
4.4.1 編譯JDK
4.4.2 項目JDK
4.4.3 模塊JDK
4.4.4 已有JDK
2020.1版本提供了下載JDK的功能.
4.5 Maven/Gradle
構建工具一般用Maven或Gradle,通常需要用其中一個即可,筆者用的是Maven,以Maven為例.
首先修改用戶目錄下的.m2/settings.xml,這個是Maven的配置文件,建議修改localRepository:
默認位置如圖,對於Windows用戶不建議C盤,在其他地方找一個,填絕對路徑.
其次在<mirrors>加入如下鏡像:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>uk</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
然后打開設置就可以看到對應的更改了.
4.6 關閉標簽欄
一次只打開一個文件,也就是說沒有標簽欄,看個人吧.
4.7 自動編譯
這功能用起來非常爽,強烈建議開啟,配合JRebel,從此讓漫長的編譯與部署見鬼去吧!
兩次shift搜索Registry:
找到compiler.automake.allow.when.app.running:
需要的話可以加上compile.document.save.trigger.delay,這個是針對靜態文件如JS,CSS的更新.
4.8 代碼補全不區分大小寫
看個人,關了匹配大小寫的話,直接輸入小寫字母除了補全變量以外還會補全類,可能會帶來一點不方便.
4.9 代碼模板/補全
VScode中的syso就可以輸出System.out.println,這個應該很多人知道,但是IDEA中不可以(雖然,用的是sout).
如果想用syso輸出怎么辦呢?
沒事,用補全!
IDEA中的補全分為兩種,一種是模板補全(Live Templates),一種是后綴補全(Postfix Completion).
4.9.1 Live Templates
先看一下自帶的模板:
新建一個模板組,叫Java:
然后添加模板:
define這里可以選擇應用的范圍,從上到下是:注釋,聲明,表達式,智能類型補全,語句,字符串,其他.
然后輸入補全的內容,其中
$END$
表示光標的位置(類似的還有很多,具體查看默認的模板).
如果不想用Tab補全,可以考慮一下空格(不過估計半年后鍵盤的空格就彈不起來).
當然,這樣只能補全自定義的模板,一些自定義的類無法使用空格,可以考慮加一個全局的快捷鍵:
這樣就能實現空格補全了(努力讓空格彈不起來吧!!!)
再介紹一個字符串常量補全:
利用了內置的函數capitalizeAndUnderscore(字母大寫,並且下划線分隔)與cipboard(調用剪貼板最近一次內容).
首先把變量名復制到剪貼板,然后調用補全"cs",配置如下:
還有其他很多函數,詳見官網文檔(戳這里).
4.9.2 Postfix Completion
后綴補全其實就是輸入.之后出現的補全,比如:
自帶的后綴補全已經很強大了,包括常用的for,fori,if,iter等:
這里添加一個數組輸出的補全作為例子:
其中
$EXPR$
表示目標表達式,上面可以選擇應用的表達式類型,這里是數組,也就是說,只有對於數組類型才會出現這個后綴補全:
4.10 ctrl+滾輪改變字體大小
5 快捷鍵篇
官方快捷鍵參考列表:
5.1 編輯
鍵 | 作用 |
---|---|
Ctrl+Space | 基本代碼補全 |
Ctrl+Shift+Space | 智能代碼補全 |
Ctrl+Shift+Enter | 補全語句 |
Ctrl+Q | 快速查看文檔 |
Alt+Insert | 生成代碼(getter/setter,構造方法,toString等) |
Ctrl+O | 重載方法 |
Ctrl+I | 實現接口方法 |
Ctrl+Alt+T | 代碼包裹(if/else/try/catch...) |
Ctrl+/ | 行注釋/取消行注釋 |
Ctrl+Shift+/ | 塊注釋/取消塊注釋 |
Ctrl+W | 擴展選擇范圍 |
Ctrl+Shift+W | 縮減選擇范圍 |
Alt+Enter | 快速修復問題和顯示猜測動作 |
Ctrl+Alt+L | 重新格式化代碼 |
Ctrl+Shift+I | 自動縮進行 |
Ctrl+Shift+V | 從緩沖區粘貼(Ctrl+C過的內容會放進緩沖區,監控系統剪切板) |
Ctrl+D | 復制當前行或選擇塊 |
Ctrl+Y | 刪除當前行 |
Ctrl+Shift+J | 智能連接行 |
Ctrl+Enter | 智能行截斷 |
Shift+Enter | 智能新增行 |
Ctrl+Shift+U | 切換光標所在單詞或選擇塊大小寫 |
Ctrl+Shift+[/] | 選擇到代碼塊開始/結束 |
Ctrl+Backspace/Delete | 刪除到單詞首/尾 |
Ctrl+ +/- | 折疊/打開代碼塊 |
Ctrl+Shift+ +/- | 折疊所有/打開所有 |
5.2 查找類/方法/變量使用情況
鍵 | 作用 |
---|---|
Alt/Ctrl+F7 | (Ctrl表示在文件中)查找光標所在的類/方法/變量使用情況 |
Ctrl+Shift+Alt+F7 | 在文件中高亮光標所在的類/方法/變量 |
Ctrl+Alt+F7 | 顯示使用情況 |
5.3 導航
鍵 | 作用 |
---|---|
Ctrl+N | 定位到類 |
Ctrl+Shift+N | 定位到文件 |
Ctrl+Alt+Shift+N | 定位到標記 |
Alt+Right/Left | (建議改成Ctrl+Tab/Ctrl+Shift+Tab)切換到下一個/上一個標簽 |
ESC | 回到編輯器 |
Shift+ESC | 隱藏當前或者上一次激活的窗口 |
Ctrl+G | 定位到行 |
Ctrl+E | 定位到最近打開的文件 |
Ctrl+Shift+Backspace | 定位到上一個編輯位置 |
Ctrl+B | 定位到聲明 |
Ctrl+U | 定位到父類/夫方法 |
Alt+Up/Down | 定位到上一個/下一個方法 |
Ctrl+[/] | 定位到代碼塊開始/結束 |
Ctrl+H | 類型層次結構 |
Ctrl+Shift+H | 方法層次結構 |
Ctrl+Alt+H | 調用層次結構 |
F2/Shift+F2 | 下一個/上一個高亮錯誤 |
F11 | 切換書簽狀態 |
Ctrl+ 0-9 | 定位到書簽 |
Shift+F11 | 顯示書簽 |
5.4 搜索/替換
鍵 | 作用 |
---|---|
Shift兩次 | 搜索所有 |
Ctrl+F | 搜索 |
F3/Shift+F3 | 搜索下一個/上一個 |
Ctrl+R | 替換 |
Ctrl+Shift+F | 全局搜索 |
Ctrl+Shift+R | 全局替換 |
5.5 代碼模板
鍵 | 作用 |
---|---|
Ctrl+Alt+J | 模板包裹 |
Ctrl+J | 插入模板 |
5.6 重構
鍵 | 作用 |
---|---|
F5 | 復制 |
F6 | 移動 |
Alt+Delete | 安全刪除 |
Shift+F6 | 重命名 |
Ctrl+F6 | 重構類/方法 |
Ctrl+Alt+N | 內聯 |
Ctrl+Alt+M | 提取當前選擇為方法 |
Ctrl+Alt+V | 提取當前選擇為變量 |
Ctrl+Alt+F | 提取當前選擇為字段 |
Ctrl+Alt+C | 提取當前選擇為常量 |
Ctrl+Alt+P | 提取當前選擇為參數 |
5.7 調試
鍵 | 作用 |
---|---|
F8/F7 | step over/into |
Shift+F8/Shift+F7 | 智能step over/into |
Alt+F9 | 運行到光標處 |
Alt+F8 | 計算表達式 |
F9 | 恢復程序 |
Ctrl+F8 | 切換斷點 |
Ctrl+Shift+F8 | 查看斷點 |
5.8 編譯和運行
鍵 | 作用 |
---|---|
Ctrl+F9 | 構建工程 |
Ctrl+Shift+F9 | 編譯選擇的文件/包/模塊 |
Alt+Shift+F10/F9 | 選擇配置運行/調試 |
Shift+F10/F9 | 運行/調試 |
5.9 版本控制系統/本地歷史
鍵 | 作用 |
---|---|
Ctrl+K/T | 提交工程到VCS/從VCS更新 |
Alt+Shift+C | 查看文件最近變化 |
Alt+反引號 | VCS操作窗口 |
5.10 通用
鍵 | 作用 |
---|---|
Alt+0 | 信息窗口 |
Alt+1 | 項目窗口 |
Alt+2 | 收藏窗口 |
Alt+3 | 查找 |
Alt+4 | 運行窗口 |
Alt+5 | 無 |
Alt+6 | TODO窗口 |
Alt+7 | 項目結構窗口 |
Alt+8 | 服務窗口 |
Alt+9 | 版本控制 |
Alt+Shift+F | 添加到收藏 |
Ctrl+反引號 | 切換主題 |
Ctrl+Alt+S | 設置窗口 |
Ctrl+Alt+Shift+S | 項目結構窗口 |
Ctrl+Shift+A | 查找動作 |
Ctrl+Tab | 切換窗口/標簽 |
5.11 必記
記一些必要的就好了.
- 重載/接口方法:Ctrl+O/I
- 代碼包裹:Ctrl+Alt+T
- 注釋:Ctrl+/ Ctrl+Shift+/
- 選擇:Ctrl+W Ctrl+Shift+W
- 萬能搜索:兩次Shift
- 定位文件:Ctrl+E
- 定位行:Ctrl+G
- 搜索/替換:Ctrl+(Shift+)F Ctrl+(Shift+)R
- 代碼模板:Ctrl+(Alt+)J
- 重構:Ctrl+Alt+C/V/M
- 調試:F7 F8 Shift+F9
- 運行:Shift+F10
- VCS:Alt+反引號
- 切換窗口:Alt+數字
6 插件篇
6.1 自帶插件
IDEA自帶的插件分為了18類,分別是
- Android
- Build Tools
- Code Coverage
- Database
- Deployment
- HTML and XML
- IDE Settings
- JavaScript Frameworks and Tools
- JVM Frameworks
- Languages
- Plugin Development
- Style Sheets
- Swing
- Template Languages
- Test Tools
- Themes
- Version Controls
- Other Tools
建議不需要的可以選擇關閉,只是Java開發的話,可以關掉Android,Build Tools中的Ant與Gradle,JavaScript Frameworks and Tools中的CoffeeScript等等.另外新版本帶了一個win10主題插件:
是亮色主題,不需要也可以順便關了.
對於VCS,大部分人應該用的是Git與Github,可以把Mercuial,Perforce,Subversion關了.
作為一個牛逼的IDE,除了自帶的插件外,當然需要安裝額外的插件,那么,下面就是激動人心的插件推薦環節.
6.2 Code Glance
代碼小地圖,默認快捷鍵Ctrl+Shift+G:
6.3 Grep Console
控制台高亮輸出,默認配置有一個叫default的組,里面按照日志的等級划分,可以進行不同顏色的高亮,需要手動配置.
6.4 GsonFormat
根據JSON自動生成對應的字段與getter/setter.
6.5 IdeaVim
Vim鍵位綁定,神器不解釋.
6.6 Key Promoter X
快捷鍵提示工具,每次使用鼠標點擊操作會提示這個操作的快捷鍵和個人使用次數,如果沒有快捷鍵的話會提示綁定快捷鍵.
6.7 Rainbow Brackets
看名字就知道了,彩色的括號:
6.8 JRebel and XRebel
熱部署插件,有了它,不用再等待漫長的編譯和部署.
具體使用看筆者的另一篇文章,戳這里.
6.9 Lombok
強大的注解工具,常用的注解有:
- @Getter/@Setter:可以作用與類或成員上,作用與類上生成所有成員的getter/setter,作用與成員生成該成員的getter/setter.
- @ToString:作用與類上,覆蓋默認的toString,可以通過of/exclude限定/排除某些字段.
- @EqualsAndHashCode:作用與類上,覆蓋默認的equals與hashCode.
- @NonNull:作用與成員變量/參數,標識不能為空.
- @NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor:作用與類上,分別表示生成無參構造方法,生成包含final與@NonNull的成員變量的構造方法,生成所有成員變量的構造方法.
- @Data:作用與類上,等價於@ToString+@EqualsAndHashCode+@Getter+@Setter+@RequiredArgsConstructor.
具體使用方式自行搜索.
6.10 power-mode
敲代碼爽得飛起:
設置在Apperance中,建議把SHAKE!(晃動),FLAMES!(火焰)與POWER INDICATOR!(右下角的小窗口)關閉.
6.11 Translation
谷歌翻譯插件,直接右鍵翻譯即可.
設置目標語言為中文.
6.12 插件安裝
如果直接從插件倉庫安裝得慢的話可以直接下載插件從本地安裝.
以上插件合集:
碼雲.
7 參考
4.IntelliJ IDEA 2020.1 正式發布,15 項重大特性、官方支持中文了!
如果覺得文章好看,歡迎點贊.
同時歡迎關注微信公眾號:氷泠之路.