IntelliJ IDEA是一款由捷克的JetBrains公司開發(fā)的Java集成開發(fā)環(huán)境(IDE)工具軟件。作為一個強(qiáng)大的多語言 IDE,它支持Java、Kotlin、Groovy等JVM-based語言的開發(fā),被廣泛認(rèn)為是最好的Java開發(fā)工具之一。該軟件具有智能代碼助手、代碼自動提示、重構(gòu)、JavaEE支持、各類版本工具(如git、svn等)、JUnit、CVS整合、代碼分析、創(chuàng)新的GUI設(shè)計等超常的功能。IntelliJ IDEA的旗艦版本還支持HTML、層疊樣式表、PHP、MySQL、Python等語言。該軟件提供apache 2.0開放式授權(quán)的社區(qū)版本(免費(fèi)版)以及商業(yè)版本(專業(yè)版),兩者均可用于商業(yè)開發(fā)。專業(yè)版支持多種編程語言,特別是對 Java、Kotlin 和 Scala 等 JVM 語言進(jìn)行了深度優(yōu)化和支持;免費(fèi)版只支持Java、Kotlin等少數(shù)語言。
主要功能
IntelliJ IDEA能盡可能地促進(jìn)程序員的編程速度。它包括了很多輔助的功能,并且與Java結(jié)合得相當(dāng)好。不同的工具窗口圍繞在主編程窗口周圍,當(dāng)鼠標(biāo)點(diǎn)到時即可打開,無用時也可輕松關(guān)閉,使用戶得到了最大化的有效屏幕范圍。以技術(shù)為導(dǎo)向的IDEA集成了調(diào)試器,支持本地和遠(yuǎn)程的調(diào)試,即使我們需要修改一些設(shè)置上的東西使我們的工作順利進(jìn)展。另外,它還提供了通常的監(jiān)視,分步調(diào)試以及手動設(shè)置斷點(diǎn)功能,在這種斷點(diǎn)模式下,我們可以自動地在斷點(diǎn)之外設(shè)置現(xiàn)場訪問,甚至可以瀏覽不同的變量的值。集成開發(fā)環(huán)境支持多重的JavaOS設(shè)置,幾個編譯程序和Ant建造系統(tǒng),并且,它使得設(shè)置多重的自定義的類途徑變得簡單。
IntelliJ IDEA是一個相對較新的Java IDE。它是Java開發(fā)環(huán)境中最為有用的一個。高度優(yōu)化的IntelleJ Idea使普通任務(wù)變得相當(dāng)容易,Idea支持很多整合功能,更重要的使它們設(shè)計的好容易使用。Idea提供靜態(tài)代碼分析工具,自動檢測代碼中的錯誤和潛在問題,支持XML中的代碼實(shí)現(xiàn),Idea同時還會校正XML,Idea支持JSP的結(jié)構(gòu)。作用于普通Java代碼的眾多功能同樣適用于JSP(比如整合功能),同時支持JSP調(diào)試;支持EJB,盡管它不包括對個別應(yīng)用服務(wù)器的特殊支持。Idea支持Ant建立工具,不僅是運(yùn)行目標(biāo)它還支持編譯與運(yùn)行程序前后運(yùn)行目標(biāo),另外也支持綁定鍵盤快捷鍵。在編輯一個Ant建立XML文件時,Idea還對組成Ant工程的XML部分提供支持。IntelliJ IDEA 被稱為是最好的JAVA IDE開發(fā)平臺,這套軟件就是以其聰明的即時分析和方便的 refactoring 功能深獲大家所喜愛。缺點(diǎn)是較復(fù)雜,對初學(xué)者來說,理解起來比較困難。
2009年,發(fā)布 IntelliJ IDEA 9.0,首次引入了免費(fèi)版 Community Edition,旨在讓更多開發(fā)者能夠使用到 IntelliJ IDEA 的核心功能。
特色功能
IDEA所提倡的是智能編碼,是減少程序員的工作,IDEA的特色功能有以下22點(diǎn):
● 智能的選取
在很多時候我們要選取某個方法,或某個循環(huán)或想一步一步從一個變量到整個類慢慢擴(kuò)充著選取,IDEA就提供這種基于語法的選擇,在默認(rèn)設(shè)置中Ctrl+W,可以實(shí)現(xiàn)選取范圍的不斷擴(kuò)充,這種方式在重構(gòu)的時候尤其顯得方便。
● 豐富的導(dǎo)航模式
IDEA提供了豐富的導(dǎo)航查看模式,例如Ctrl+E顯示最近打開過的文件,Ctrl+N顯示你希望顯示的類名查找框(該框同樣有智能補(bǔ)充功能,當(dāng)你輸入字母后IDEA將顯示所有候選類名)。在最基本的project視圖中,你還可以選擇多種的視圖方式。
● 歷史記錄功能
不用通過版本管理服務(wù)器,單純的IDEA就可以查看任何工程中文件的歷史記錄,在版本恢復(fù)時你可以很容易的將其恢復(fù)。
● JUnit的完美支持
● 對重構(gòu)的優(yōu)越支持
IDEA是所有IDE中最早支持重構(gòu)的,其優(yōu)秀的重構(gòu)能力一直是其主要賣點(diǎn)之一。
● 編碼輔助
Java規(guī)范中提倡的toString()、hashCode()、equals()以及所有的get/set方法,你可以不用進(jìn)行任何的輸入就可以實(shí)現(xiàn)代碼的自動生成,從而把你從無聊的基本方法編碼中解放出來。
● 靈活的排版功能
基本所有的IDE都有重排版功能,但僅有IDEA的是人性的,因?yàn)樗С峙虐婺J降亩ㄖ疲憧梢愿鶕?jù)不同的項(xiàng)目要求采用不同的排版方式。
● XML的完美支持
xml全提示支持:所有流行框架的xml文件都支持全提示,誰用誰知道。
● 動態(tài)語法檢測
任何不符合java規(guī)范、自己預(yù)定義的規(guī)范、累贅都將在頁面中加亮顯示。
● 代碼檢查
對代碼進(jìn)行自動分析,檢測不符合規(guī)范的,存在風(fēng)險的代碼,并加亮顯示。
● 對JSP的完全支持
不需要任何的插件,完全支持JSP。
● 智能編輯
代碼輸入過程中,自動補(bǔ)充方法或類。
● EJB支持
不需要任何插件完全支持EJB(6.0 支持EJB3.0)
● 列編輯模式
用過UtralEdit的肯定對其的列編輯模式贊賞不已,因?yàn)樗鼫p少了很多無聊的重復(fù)工作,而IDEA完全支持該模式,從而更加提高了編碼效率。
● 預(yù)置模板
預(yù)置模板可以讓你把經(jīng)常用到的方法編輯進(jìn)模板,使用時你只用輸入簡單的幾個字母就可以完成全部代碼的編寫。例如使用比較高的public static void main(String[] args){}你可以在模板中預(yù)設(shè)pm為該方法,輸入時你只要輸入pm再按代碼輔助鍵,IDEA將完成代碼的自動輸入。
● 完美的自動代碼完成
智能檢查類中的方法,當(dāng)發(fā)現(xiàn)方法名只有一個時自動完成代碼輸入,從而減少剩下代碼的編寫工作。
● 版本控制完美支持
集成了市面上常見的所有版本控制工具插件,包括Git、svn、GitHub,讓開發(fā)人員在編程的工程中直接在intellij idea里就能完成代碼的提交、檢出、解決沖突、查看版本控制服務(wù)器內(nèi)容等等。
● 不使用代碼的檢查
自動檢查代碼中不使用的代碼,并給出提示,從而使代碼更高效。
● 智能代碼
自動檢查代碼,發(fā)現(xiàn)與預(yù)置規(guī)范有出入的代碼給出提示,若程序員同意修改自動完成修改。例如代碼:String str = "Hello Intellij " + "IDEA"; IDEA將給出優(yōu)化提示,若程序員同意修改IDEA將自動將代碼修改為:String str = "Hello Intellij IDEA";
● 正則表達(dá)式的查找和替換功能
查找和替換支持正則表達(dá)式,從而提高效率。
● JavaDoc預(yù)覽支持
支持javadoc的預(yù)覽功能,在JavaDoc代碼中Ctrl+Q顯示JavaDoc的結(jié)果,從而提高doc文檔的質(zhì)量。
● 程序員意圖支持
程序員編碼時IDEA時時檢測你的意圖,或提供建議,或直接幫你完成代碼。
優(yōu)點(diǎn)
最突出的功能自然是調(diào)試(Debug),可以對Java代碼,ECMAScript,JQuery,Ajax等技術(shù)進(jìn)行調(diào)試。
比如查看Map類型的對象,如果實(shí)現(xiàn)類采用的是哈希映射,則會自動過濾空的Entry實(shí)例。
其次,需要動態(tài)Evaluate一個表達(dá)式的值,比如我得到了一個類的實(shí)例,但是并不知曉它的API,可以通過Code Completion點(diǎn)出它所支持的方法。
最后,在多線程調(diào)試的情況下,Log on console的功能可以幫你檢查多線程執(zhí)行的情況。
版本概述
2001年1月發(fā)布IntelliJ IDEA 1.0版本,同年七月發(fā)布2.0,接下來基本每年發(fā)布一個版本(2003除外),當(dāng)然每年對各個版本都是一些升級。3.0版本之后,IDEA屢獲大獎,其中又以2003年的贏得的“Jolt Productivity Award”,“JavaWorld Editors’s Choice Award”為標(biāo)志,從而奠定了IDEA在IDE中的地位。2005年發(fā)布IntelliJ IDEA 5.0版本,新增UML支持:集成UML設(shè)計工具,支持類圖和用例圖;并初步引入數(shù)據(jù)庫工具,提供基本的SQL編輯和查詢功能。2009年,發(fā)布IntelliJ IDEA 9.0,首次引入了免費(fèi)版Community Edition,旨在讓更多開發(fā)者能夠使用到IntelliJ IDEA的核心功能。
版本為2025.1,于2025年發(fā)布。IDEA的宗旨:“Develop with pleasure”。
目前最新版本IntelliJ IDEA 2020.3 在調(diào)試器中添加了交互式提示和內(nèi)聯(lián)監(jiān)視,改進(jìn)了對 Java 15 的支持,并引入了對 Git 暫存的支持以及各種其他功能。?
IntelliJ IDEA分為Ultimate Edition 旗艦版和Community Edition 社區(qū)版本,旗艦版可以免費(fèi)試用30天,社區(qū)版本免費(fèi)使用,但是功能上對比旗艦版有所縮減。
快捷鍵
1.寫代碼時用Alt-Insert(Code|Generate…)可以創(chuàng)建類里面任何字段的getter與setter方法。
2.按Ctrl-N再鍵入類的名字可以快速地在編輯器里打開任何一個類。從顯示出來的下拉列表里選擇類。同樣的方法你可以通過使用Ctrl-Shift-N打開工程中的非Java文件。
3.Ctrl-D復(fù)制當(dāng)前行,Ctrl-Y刪除當(dāng)前行。
4.Ctrl-Shift-U,Ctrl+Shift+Alt+U顯示類繼承結(jié)構(gòu)圖,再按Alt-M。
5.Alt-F1 回到當(dāng)前文件所在的目錄結(jié)構(gòu)。
6.Ctrl-Shift-V 粘貼最近復(fù)制過的一些信息。
7.Ctrl-Shift-F7 高亮顯示所有該文本,按Esc高亮消失。
8.Ctrl-E 最近打開的文件。
9.Ctrl-P 方法參數(shù)提示。
10.Alt+ Up/Down 在方法間快速移動定位。
11.Ctrl+W 選中代碼,連續(xù)按會有其他效果。
12.Shift + F6 選中目錄結(jié)構(gòu)的文件,重命名。
13.Ctrl + Alt + F12 進(jìn)入當(dāng)前文件所在磁盤位置。
14.Ctrl + Shift + F搜索文件。
15.Ctrl + Shift + R 搜索指定范圍文件,替換文字。
16.Ctrl + Shift +W 返回上一次選擇的代碼塊狀態(tài)。
17.Ctrl + Shift + J 自動將下一行合并到當(dāng)前行末尾。
16.Ctrl + Tab Switcher 導(dǎo)航 與 Ctrl + E 類似效果。
17.Ctrl + Shift + C 復(fù)制當(dāng)前文件磁盤路徑到剪貼板。?
系統(tǒng)要求
Windows
Mac OS X
總結(jié)
盡管IDEA還有些不足,但作為一個超過10年生命力還如此強(qiáng)勁的IDEA,得到如此的美譽(yù)并不簡單。更何況IDEA的很多實(shí)際功能的確走在時代的前列,至于其存在的問題我們不如包容點(diǎn),畢竟有些問題在現(xiàn)在的硬件基礎(chǔ)上根本就不能算是問題。
當(dāng)然,無論如何的夸它,都只是別人的體驗(yàn),若真想了解它,唯一的方法就是自己親自去體驗(yàn)。
參考資料 >
IntelliJ IDEA 2025.1 最新變化.jetbrains.2025-05-04