基本内容
IDEA 全稱 IntelliJ IDEA,是java語言開發的集成環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS整合、代碼審查、創新的GUI設計等方面的功能可以說是超常的。
IDEA是JetBrains公司的産品,這家公司總部位于捷克共和國的首都布拉格,開發人員以嚴謹着稱的東歐程序員為主。
2001年1月發布IntelliJ IDEA1.0版本,同年七月發布2.0,接下來基本每年發布一個版本(2003除外),當然每年對各個版本都是一些升級。3.0版本之後,IDEA屢獲大獎,其中又以2003年的赢得的“Jolt Productivity Award”,“JavaWorld Editors’s Choice Award”為标志,從而奠定了IDEA的IDE中的地位。目前版本為6.0,2006年10月2日發布,更新版本為6.0.2。IDEA的宗旨:“Develop with pleasure”。
IDEA的優越
最突出的功能自然是調試(Debug),其他編輯功能抛開不看,這點遠勝Eclipse。
首先查看Map類型的對象,如果實現類采用的是哈希映射,則會自動過濾空的Entry實例。不像Eclipse,隻能在默認的toString()方法中尋找你所要的key。
其次,需要動态Evaluate一個表達式的值,比如我得到了一個類的實例,但是并不知曉它的API,可以通過Code Completion點出它所支持的方法,這點Eclipse無法比拟。
最後,在多線程調試的情況下,Log on console的功能可以幫你檢查多線程執行的情況。
前面已經說過了IDEA所提倡的是智能編碼,是減少程序員的工作,那麼IDEA具體又有哪些值得推崇呢?總結以下25點,希望能有個比較全面的介紹。
1.智能的選取。在很多時候我們要選取某個方法,或某個循環或想一步一步從一個變量到整個類慢慢擴充着選取,IDEA就提供這種基于語法的選擇,在默認設置中Ctrl+w,可以實現選取範圍的不斷擴充,這種方式在重構的時候尤其顯得方便。
2.豐富的導航模式。IDEA提供了豐富的導航查看模式,例如ctrl+e顯示最近打開過的文件,ctrl+n顯示你希望顯示的類名查找框
(該框同樣有智能補充功能,當你輸入字母後IDEA将顯示所有候選類名)。在最基本的project試圖中,你還可以選擇多種的試圖方式。
3.曆史記錄功能。不用通過版本管理服務器,單純的IDEA就可以查看任何工程中文件的曆史記錄,但版本恢複時你可以很容易的将其恢複。
4.JUnit的完美支持。
5.對重構的優越支持。IDEA是所有IDE中最早支持重構的,其優秀的重構能力一直是其主要賣點之一。
6.編碼輔助。java規範中提倡的tostring(),hashcode(),equals(),以及所有的get/set方法,你可以不用進行任何的輸入就可以實現代碼的自動生成,從而把你從無聊的基本方法編碼中解放出來。
7.靈活的排版功能。基本所有的IDE都有重排版功能,但僅有IDEA的是人性的,因為她支持排版模式的定制,你可以根據不同的項目要求采用不同的排版方式。
8.XML的完美支持。
9.簡潔易用的GUI界面。
10.與文件系統自動同步。當你最小化IDEA,直接對文件進行編輯之後,重新打開IDEA後IDEA将自動的完成文件的更新,而不用重新導入工程或刷新工程。
11.自定義的快捷鍵。強大的快捷鍵設置,基本可以讓程序員離開鼠标工作。
12.動态語法檢測。任何不符合java規範,自己預定義的規範,累贅都将在頁面中加亮顯示。
13.代碼檢查。對代碼進行自動分析,檢測不符合規範的,存在風險的代碼,并加亮顯示。
14.對JSP的完全支持。不需要任何的插件,完全支持JSP。
15.智能編輯。代碼輸入過程中,自動補充方法或類。
16.EJB支持。不需要任何插件完全支持EJB(6.0支持ejb3.0)
17.列編輯模式。用過UtralEdit的肯定對其的列編輯模式贊賞不已,因為她減少了很多很多的無聊重複工作,而IDEA完全支持該模式,從而更加提高了編碼效率。
18.智能模闆。預置模闆可以讓你把經常用到的方法編輯進模闆,使用時你隻用輸入簡單的幾個字母就可以完成全部代碼的編寫。例如使用比較高的public static void main(String[] args){}你可以在模闆中預設pm為該方法,輸入時你隻要輸入pm再按代碼輔助鍵,IDEA将完成代碼的自動輸入。
19.完美的自動代碼完成。智能檢查類中方法,當發現方法名隻有一個時自動完成代碼輸入,從而減少剩下代碼的編寫工作。
20.Ant支持。不需要任何的第三方插件。
21.不使用代碼檢查。自動檢查代碼中不使用的代碼,并給出提示,從而使代碼更高效。
22.智能代碼。自動檢查代碼,發現與預置規範有出入的代碼給出提示,若程序員同意修改自動完成修改。例如代碼:String str = "Hello Intellij " + "IDEA"; IDEA将給出優化提示,若程序員同意修改IDEA将自動将代碼修改為:String str = "Hello Intellij IDEA";
23.正則表達的查找和替換功能。查找替代支持正則表達,從而提高效率。
24.JavaDoc預覽支持。支持JavaDoc的預覽功能,在JavaDoc代碼中ctrl+q顯示JavaDoc的結果,從而提高doc文檔的質量。
25.程序員意圖支持。當程序員編碼時IDEA時時檢測你的意圖,或提供建議,或直接幫你完成代碼。
IDEA的不足
前面說過了IDEA的好,最後也要來寫寫IDEA的不足了。
1.插件開發匮乏,比起Eclipse,IDEA隻能算是個插件的矮子,目前官方公布的插件不足400個,并且許多插件實質性的東西并沒有,可能是IDEA本身就太強大了。
2.在同一頁面中隻支持單工程,這為開發帶來一定的不便,特别是喜歡開發時建一個測試過程來測試部分方法的程序員帶來心理上的不認同。
3.匮乏的技術文章,目前網絡中能找到的技術支持基本沒有,技術文章也少之又少。
4.資源消耗比較大,建個大中型的J2EE項目,啟動後基本要200M以上的内存支持,包括安裝軟件在内,差不多要500M的硬盤空間支持。(由于很多智能功能是時時的,因此包括系統類在内的所有類都被IDEA存放到IDEA的工作路徑中)。
版本概述
2001年1月發布IntelliJ IDEA 1.0版本,同年七月發布2.0,接下來基本每年發布一個版本(2003除外),當然每年對各個版本都是一些升級。3.0版本之後,IDEA屢獲大獎,其中又以2003年的赢得的"Jolt Productivity Award","JavaWorld Editors's Choice Award"為标志,從而奠定了IDEA在IDE中的地位。
目前版本為13.1,2014年7月22日發布,更新版本為13.1.4。IDEA的宗旨:"Develop with pleasure"。
IntelliJ IDEA分為Ultimate Edition旗艦版和Community Edition社區版本,旗艦版可以免費試用30天,社區版本免費使用,但是功能上對比旗艦版有所縮減。
曆史版本Version:13.1
版本特性:
當前版本Version: 13.1.4 Build135.1230 發布時間 2014年7月22日
快捷鍵
1.寫代碼時用Alt-Insert(Code|Generate…)可以創建類裡面任何字段的getter與setter方法。
2.按Ctrl-N再鍵入類的名字可以快速地在編輯器裡打開任何一個類。從顯示出來的下拉列表裡選擇類。同樣的方法你可以通過使用Ctrl-Shift-N打開工程中的非Java文件。
3.Ctrl-D複制當前行,Ctrl-Y删除當前行。
4.Ctrl-Shift-u,Ctrl+Shift+alt+u顯示類繼承結構圖,再按alt-m。
5.Alt-F1,回到當前文件所在的目錄結構。
6.Ctrl-Shift-v,粘貼最近複制過的一些信息。
7.Ctrl-Shift-F7,高亮顯示所有該文本,按Esc高亮消失。
8.Ctrl-E最近打開的文件。
9.Ctrl-P方法參數提示。
10.Alt+Up/Down在方法間快速移動定位。
11.Ctrl+W選中代碼,連續按會有其他效果。
12.Shift+F6選中目錄結構的文件,重命名
13.Ctrl+Alt +F12進入當前文件所在磁盤位置
14.Ctrl+Shift +F搜索文件
15.Ctrl+Shift+R搜索指定範圍文件,替換文字
16.Ctrl+Shift+W返回上一次選擇的代碼塊狀态
17.Ctrl+Shift+J自動将下一行合并到當前行末尾
16.Ctrl+Tab Switcher導航與Ctrl+E類似效果
17.Ctrl+Shift+C複制當前文件磁盤路徑到剪貼闆
系統要求
Windows
Microsoft Windows8/7/Vista/2003/XP (incl.64-bit)
1 GB RAM minimum,2GB RAM recommended
300 MB hard disk space + at least1G for caches
1024×768minimum screen resolution
JDK1.6orhigher
Mac OS X
Mac OS X10.5or higher, up to 10.9 (Mavericks)
1GB RAM minimum,2GB RAM recommended
300 MB hard disk space + at least1GB for caches
1024×768minimum screen resolution
Java6
Linux
GNOME or KDE desktop
1 GB RAM minimum,2GB RAM recommended
300MB hard disk space + at least 1 GB for caches
1024×768minimum screen resolution
OracleJDK6 or JDK7
産品功能
工作效率提升功能
IntelliJIDEA是專注于提高您的工作效率,通過提供最聰明的支持所有語言和框架代碼協助。
l智能代碼完成總是知道在什麼情況下你就可以比以往任何時候都更快。
l在傳輸中代碼分析,确保您鍵入的代碼質量,并建議方便快速修複。
l先進的重構考慮應用程序複雜變化的代碼安全。
開發工具
IntelliJIDEA提供了一個驚人的一套集成工具,使開發更富有成效。
l數據庫工具包括一個全功能的數據庫編輯器和支持SQL語言。
l分析和設計類的UML設計。
l帶Git,SVN,Mercurial的一個統一的接口的版本控件工具。
l支持Maven、Ant、Gradle和Gant構建工具。
Web開發
IntelliJIDEA提供最重要的網絡框架和标準的先進支持。
lSpring MVC、Webflow、Play、Grails、Web Services、JSF、StrutsFlex 和其他框架容易開發。
l包括适用于HTML5、CSS3、SASS、LESS、JavaScript、CoffeeScript、Node.js、ActonScript和其他語言的最終代碼幫助。
企業發展
IntelliJIDEA提供框工具,構建企業應用程序設置。
l支持Spring,包括數據,Web服務,安全,批次,Roo,集成和其他框架。
l代碼的援助和部署工具Java EE,包括EJB,CDI,JPA,Hibernate和支持最流行的應用服務器。
移動開發
開發帶IntelliJ IDEA的移動平台開發變得非常容易。
l支持Android,包括重構和方便的用戶界面設計師。
lAIR移動開發工具,支持Android和iOS設備。
支持語言
IntelliJIDEA是一個多語種的IDE,全面支持多國語言,包括:
l最流行的基于JVM的語言,包括Java,Scala,Groovy,Clojure和Kotlin。
lPHP,Python和Ruby。
lSQL,包括PostgreSQL,MySQL和Oracle,SQL Server和其他許多方言。
敏捷開發
IntelliJIDEA的是一個理想的敏捷開發的IDE。
l應用程序從IDE到雲直接部署。
l集成bug跟蹤系統和上下文切換的使用任務和内容管理
IntelliJIDEA14新功能:
内置反編譯
IntelliJ IDEA14配有内置的反編譯适用于Java級。當你想看看裡面的庫,你沒有源代碼,現在你可以無需任何第三方插件。
改進調試
改進後的調試器顯示在旁邊編輯器裡的變量值到他們的用法;提供了一個新的顯示參照對象的行動;并支持在lambda表達式中對話框的評估。
更好的代碼編輯器
l新的編輯器提供了更智能的Backspace密匙行為,代碼風格檢測,臨時文件,提高了多重選擇,一個“複制為HTML/RTF”行動和許多其他行動。
總結
盡管IDEA目前還有些不足,但一個誕生不過5年的産品能得到如此的美譽并不簡單,更何況IDEA的很多實際功能的确走在時代的前列,至于其的問題我們不如包容點,畢竟有些問題在現在的硬件基礎上根本就不能算是問題。
當然,無論我在此如何的誇她,都隻是我的體驗,若真想了解她,唯一的就是自己親自去體驗。
參考資料: