基本含義
雖然大多數用戶很樂於將 Eclipse 當作 Java 集成開發環境(IDE)來使用,但 Eclipse 的目標卻不僅限於此。Eclipse 還包括外掛程式開發環境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟體開發人員,因為它允許他們構建與 Eclipse 環境無縫集成的工具。由於 Eclipse 中的每樣東西都是外掛程式,對於給 Eclipse 提供外掛程式,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。
這種平等和一致性並不僅限於 Java 開發工具。儘管 Eclipse 是使用Java語言開發的,但它的用途並不限於 Java 語言;例如,支持諸如C/C++、COBOL、PHP、Android等程式語言的外掛程式已經可用,或預計將會推出。Eclipse 框架還可用來作為與軟體開發無關的其他應用程式類型的基礎,比如內容管理系統。
基於 Eclipse 的應用程式的一個突出例子是 IBM Rational Software Architect,它構成了 IBM Java 開發工具系列的基礎。
歷史
Eclipse最初是由IBM公司開發的替代商業軟體Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社區,現在它由非營利軟體供應商聯盟Eclipse基金會(Eclipse Foundation)管理。2003年,Eclipse 3.0選擇OSGi服務平台規範為運行時架構。2007年6月,穩定版3.3發布;2008年6月發布代號為Ganymede的3.4版;2009年6月發布代號為Galileo的3.5版;2010年6月發布代號為Helios的3.6版;2011年6月發布代號為Indigo的3.7版;2012年6月發布代號為Juno的4.2版;2013年6月發布代號為Kepler的4.3版;2014年6月發布代號為Luna的4.4版;2015年6月項目發布代號為Mars的4.5版。
發行版本
從2006年起,Eclipse基金會每年都會安排同步發布(simultaneous release)。至今,同步發布主要在6月進行,並且會在接下來的9月及2月釋放出SR1及SR2版本。
版本代號 | 平台版本 | 主要版本發行日期 | SR1發行日期 | SR2發行日期 |
Callisto | 3.2 | 2006年6月26日 | N/A | N/A |
Europa | 3.3 | 2007年6月27日 | 2007年9月28日 | 2008年2月29日 |
Ganymede | 3.4 | 2008年6月25日 | 2008年9月24日 | 2009年2月25日 |
Galileo | 3.5 | 2009年6月24日 | 2009年9月25日 | 2010年2月26日 |
Helios | 3.6 | 2010年6月23日 | 2010年9月24日 | 2011年2月25日 |
Indigo | 3.7 | 2011年6月22日 | 2011年9月23日 | 2012年2月24日 |
Juno | 3.8及4.2 | 2012年6月27日 | 2012年9月28日 | 2013年3月1日 |
Kepler | 4.3 | 2013年6月26日 | 2013年9月27日 | 2014年2月28日 |
Luna | 4.4 | 2014年6月25日 | 2014年9月25日 | 2015年2月27日 |
Mars | 4.5 | 2015年6月25日 | N/A | N/A |
語言拓展
Eclipse是著名的跨平台的自由集成開發環境(IDE)。最初主要用來Java語言開發,通過安裝不同的外掛程式Eclipse可以支持不同的計算機語言,比如C++和Python等開發工具。Eclipse的本身只是一個框架平台,但是眾多外掛程式的支持使得Eclipse擁有其他功能相對固定的IDE軟體很難具有的靈活性。許多軟體開發商以Eclipse為框架開發自己的IDE。
Eclipse 最初由OTI和IBM兩家公司的IDE產品開發組創建,起始於1999年4月。IBM提供了最初的Eclipse代碼基礎,包括Platform、JDT 和PDE。Eclipse項目IBM發起,圍繞著Eclipse項目已經發展成為了一個龐大的Eclipse聯盟,有150多家軟體公司參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開放源碼項目,它其實是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由於其開放源碼,任何人都可以免費得到,並可以在此基礎上開發各自的外掛程式,因此越來越受人們關注。隨後還有包括Oracle在內的許多大公司也紛紛加入了該項目,Eclipse的目標是成為可進行任何語言開發的IDE集成者,使用者只需下載各種語言的外掛程式即可。
字元集設定
點擊導航欄里的 window -> Preferences
選擇 General -> Content Types
在右側紅框裡選擇你要修改編碼的檔案類型
(一般我們會用到CSS,Java Source File,Java Propertis File 等等),
在綠框裡修改編碼,一般用"utf-8"。
修改完點擊OK。
前三步是針對檔案的,
我們還需要對我們的工作空間設定字元集編碼。
我們可以去 General -> Workspace ->然後在圖中的中間的紅框裡選擇你需要的字元集,
然後你右下角的Apply執行操作。
使用技巧
捷徑
<!--[if !supportLists]-->0. Ctrl + 1 (快速修復)
<!--[if !supportLists]-->1. Ctrl + D (刪除當前行)
<!--[if !supportLists]-->2. Ctrl + Alt + ↓(複製當前行到下一行)
<!--[if !supportLists]-->3. Alt + / 或者說是 Ctrl + 空格(由於後者與輸入法的快捷鍵衝突,所以,我一般都用前者) 作用:快速插入。
<!--[if !supportLists]-->4. Alt+Shift+R 重命名非常好用。
<!--[if !supportLists]-->5. Ctrl + Q 定位到最後編輯的地方。
<!--[if !supportLists]-->6. Ctrl + Shift + O 自動導入包。
<!--[if !supportLists]-->7. Ctrl+/ 注釋當前行,再按則取消注釋。
<!--[if !supportLists]-->8. Ctrl+K快速查找。
<!--[if !supportLists]-->9. Ctrl + Shift + F 自動縮進。
常用快捷鍵
Eclipse最全快捷鍵,熟悉快捷鍵可以幫助開發事半功倍,節省更多的時間來用於做有意義的事情。
Ctrl+1 快速修復(最經典的快捷鍵,就不用多說了)
Ctrl+D: 刪除當前行
Ctrl+Alt+↓ 複製當前行到下一行(複製增加)
Ctrl+Alt+↑ 複製當前行到上一行(複製增加)
Alt+↓ 當前行和下面一行互動位置(特別實用,可以省去先剪下,再貼上了)
Alt+↑ 當前行和上面一行互動位置(同上)
Alt+← 前一個編輯的頁面
Alt+→ 下一個編輯的頁面(當然是針對上面那條來說了)
Alt+Enter 顯示當前選擇資源(工程,or 檔案 or檔案)的屬性
Shift+Enter 在當前行的下一行插入空行(這時滑鼠可以在當前行的任一位置,不一定是最後)
Shift+Ctrl+Enter 在當前行插入空行(原理同上條)
Ctrl+Q 定位到最後編輯的地方
Ctrl+L 定位在某行 (對於程式超過100的人就有福音了)
Ctrl+M 最大化當前的Edit或View (再按則反之)
Ctrl+/ 注釋當前行,再按則取消注釋
Ctrl+O 快速顯示 OutLine
Ctrl+T 快速顯示當前類的繼承結構
Ctrl+W 關閉當前Editer
Ctrl+K 參照選中的Word快速定位到下一個
Ctrl+E 快速顯示當前Editer的下拉列表(如果當前頁面沒有顯示的用黑體表示)
Ctrl+/(小鍵盤) 摺疊當前類中的所有代碼
Ctrl+×(小鍵盤) 展開當前類中的所有代碼
Ctrl+Space 代碼助手完成一些代碼的插入(但一般和輸入法有衝突,可以修改輸入法的熱鍵,也可以暫用Alt+/來代替)
Ctrl+Shift+E 顯示管理當前打開的所有的View的管理器(可以選擇關閉,激活等操作)
Ctrl+J 正向增量查找(按下Ctrl+J後,你所輸入的每個字母編輯器都提供快速匹配定位到某個單詞,如果沒
有,則在stutes line中顯示沒有找到了,查一個單詞時,特別實用,這個功能Idea兩年前就有了)
Ctrl+Shift+J 反向增量查找(和上條相同,只不過是從後往前查)
Ctrl+Shift+F4 關閉所有打開的Editer
Ctrl+Shift+X 把當前選中的文本全部變為大寫
Ctrl+Shift+Y 把當前選中的文本全部變為小寫
Ctrl+Shift+F 格式化當前代碼
Ctrl+Shift+P 定位到對於的匹配符(譬如{}) (從前面定位後面時,游標要在匹配符裡面,後面到前面,則反之)
下面的快捷鍵是重構裡面常用的,本人就自己喜歡且常用的整理一下(注:一般重構的快捷鍵都是Alt+Shift開頭的了)
Alt+Shift+R 重命名 (是我自己最愛用的一個了,尤其是變數和類的Rename,比手工方法能節省很多勞動力)
Alt+Shift+M 抽取方法 (這是重構裡面最常用的方法之一了,尤其是對一大堆泥團代碼有用)
Alt+Shift+C 修改函式結構(比較實用,有N個函式調用了這個方法,修改一次搞定)
Alt+Shift+L 抽取本地變數( 可以直接把一些魔法數字和字元串抽取成一個變數,尤其是多處調用的時候)
Alt+Shift+F 把Class中的local變數變為field變數 (比較實用的功能)
Alt+Shift+I 合併變數(可能這樣說有點不妥Inline)
Alt+Shift+V 移動函式和變數(不怎么常用)
Alt+Shift+Z 重構的後悔藥(Undo)
外掛程式開發
Eclipse的外掛程式機制是輕型軟體組件化架構。在客戶機平台上,Eclipse使用外掛程式來提供所有的附加功能,例如支持Java以外的其他語 言。 已有的分離的外掛程式已經能夠支持C/C++(CDT)、Perl、Ruby,Python、telnet和資料庫開發。外掛程式架構能夠支持將任意的擴展加入到 現有環境中,例如配置管理,而決不僅僅限於支持各種程式語言。
Eclipse的設計思想是:一切皆外掛程式。Eclipse核心很小,其它所有功能都以外掛程式的形式附加於Eclipse核心之上。Eclipse基本核心包括:圖形API (SWT/Jface), Java開發環境外掛程式(JDT ),外掛程式開發環境(PDE)等。
外掛程式安裝
Eclipse外掛程式的安裝方法大體有以下幾種方式:
第一種:直接複製法
假設Eclipse的安裝目錄在C:\eclipse,解壓下載的eclipse 外掛程式或者安裝eclipse 外掛程式到指定目錄AA(如:c:\AA)資料夾,打開AA 資料夾,在AA資料夾里分別包含兩個資料夾features和plugins ,然後把兩個資料夾里的檔案分別複製到C:\eclipse下所對應的資料夾下的features 和plugins 下,一般的把外掛程式檔案直接複製到eclipse目錄里是最直接也是最愚蠢的一種方法!因為日後想要刪除這些外掛程式會非常的困難,不推薦使用。
注意:直接將外掛程式包解壓到plugins資料夾下之後,重啟eclipse,可能不會載入新的外掛程式。
解決方法是:
1、打開命令行,到當前eclipse的目錄下,輸入eclipse -clean,重新啟動eclipse,這樣eclipse就會加上新的外掛程式了。
2、如果外掛程式不能生效,則請將eclipse\configuration\org.eclipse.update目錄刪除後再啟動eclipse;
你可以在eclipse的選單"Help"-->"About Eclipse SDK"-->"Feature Details" 和"Plug-in Details"中看到新安裝的外掛程式。
第二種:使用link檔案法
a.假設Eclipse的安裝目錄在C:\eclipse,在該資料夾下,新建這樣的目錄結構C:\eclipse\PluginsEclipse\jode\eclipse;
b.解壓下載的eclipse 外掛程式或者安裝eclipse 外掛程式到指定目錄BB(如:C:\BB)資料夾,打開BB資料夾,然後把 BB資料夾里的兩個資料夾features和plugins複製到剛新建好的,這樣eclipse中就有了兩個外掛程式目錄features and plugins下。
c.在C:\eclipse目錄中新建links(C:\eclipse\links)目錄,在links目錄中建立一個以link為擴展名的文本檔案如jode.link,內容如下path=C:/eclipse/PluginsEclipse/jode 或者path=C:\\eclipse\\PluginsEclipse\\jode(外掛程式的目錄),保存後重啟eclipse外掛程式就會安裝完成。
注意:link檔案中path=外掛程式目錄的path路徑分隔要用\\或是/
Java代碼
/eclipse/
links/
jode.link
webtools.link
updateManager.link
...
...
/eclipse/ links/ jode.link webtools.link updateManager.link ... ... 可以在eclipse的選單"Help"-->"AboutEclipse SDK"-->"Feature Details" 和"Plug-in Details"中看到新安裝的外掛程式。
第三種:使用eclipse自帶圖形界面安裝
選擇Help > Software Updates > Manager Configuration,再選擇Add > Extension Location 找到你要安裝外掛程式的目錄就可以了。使用eclipse的help->SoftwareUpdates ->Find and install... search for new features... 輸入軟體安裝地址進行安裝強烈推薦這種方法,優點很多比如可以方便的添加刪除,也不用自己寫link檔案!
備註:Eclipse外掛程式的目錄結構
Java代碼
/eclipse-plugins/
eclipse/
.eclipseextension
features/
plugins/
第2.3種方法所指向的目錄都指的是"eclipse"目錄,
如果用第3種方法,在eclipse這個目錄下必須有檔案.eclipseextension,如果下載的外掛程式沒有這個檔案,
那就隨便eclipse安裝目錄下的那個檔案拷過去就行,只要有這么個檔案就可以了,內容沒什麼用,主要是一些版本信息。例如:
Java代碼
id=org.eclipse.platform name=Eclipse Platform
version=3.1.1
id=org.eclipse.platform name=Eclipse Platform version=3.1.1
第四種:使用dropins安裝外掛程式
從Eclipse3.5開始,安裝目錄下就多了一個dropins目錄。只要將外掛程式解壓後拖到該目錄即可安裝外掛程式。
比如安裝svn外掛程式subclipse-1.8.16.zip,只需要如下的三步即可:
1、使用winrar等壓縮軟體將壓縮檔解壓至某一資料夾,比如subclipse-1.8.16
2、將此目錄移動/複製至Eclipse安裝目錄下的dropins目錄
3、重啟Eclipse。
由於此種安裝方式可以將不同的外掛程式安裝在不同的目錄里,並且不用麻煩地寫配置檔案,因此管理起來會非常方便,推薦使用。
第五種:使用Eclipse Macketplace
在新版eclipse中選擇Help > Software Updates >Eclipse Macketplace,這裡有eclipse的外掛程式市場,如圖所示,可以直接搜尋安裝需要的外掛程式,不必配置,一鍵安裝,使用更加方便了。
隱藏功能
每個人都會使用到一些靜態方法類庫。從Java 5之後,我們可以靜態進入它們,所以我們不再需要像下面這樣寫代碼。
SomeVeryImportantUtility.split(string1, string2);
但是,誰又會願意在每一個類中去把所有那些方法都手動的進行靜態進入呢? 沒有人。因為你可以在選項中定義你的收藏類型和收藏成員:
Preferences > Favorites
然後,你只需要敲入開頭的字母並使用自動補全功能:
自動補全
自動補全功能也可以進行必要的靜態引入。比方說在使用DSL的諸多功能時,這就非常有用。很明顯,你需要謹慎決斷,哪些是你真正最常用到的類庫,以及哪些是這些類庫中你最常用到的類。如果你是jOOQ blog(或是其聯盟的一員)的用戶,我可以給你一個提示。即永遠把org.jooq.impl.DSL納入收藏。
學習資料
《Eclipse從入門到精通》
《Eclipse使用入門教程》
《Eclipse Web開發從入門到精通(實例版)》
主要組成
Eclipse是一個開放原始碼的軟體開發項目,專注於為高度集成的工具開發提供一個全功能的、具有商業品質的工業平台。它主要由 Eclipse項目、 Eclipse工具項目和 Eclipse技術項目三個項目組成,具體包括四個部分組成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java開發、CDT支持C開發、PDE用來支持外掛程式開發,Eclipse Platform則是一個開放的可擴展IDE,提供了一個通用的開發平台。它提供建造塊和構造並運行集成軟體開發工具的基礎。Eclipse Platform允許工具建造者獨立開發與他人工具無縫集成的工具從而無須分辨一個工具功能在哪裡結束,而另一個工具功能在哪裡開始。
軟體開發包
Eclipse SDK(軟體開發者包)是Eclipse Platform、JDT和PDE所生產的組件合併,它們可以一次下載。這些部分在一起提供了一個具有豐富特性的開發環境,允許開發者有效地建造可以無縫集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse項目生產的工具和來自其它開放原始碼的第三方軟體組合而成。Eclipse項目生產的軟體以 GPL發布,第三方組件有各自自身的許可協定。
新版本特點
1.NLS string hover有一個Open in Properties File動作
2.在Caller模式下,調用層級(Call Hierarchy)有一個在上下文選單中有一個Expand With Constructors動作
3.當你在編輯器中輸入的時候,Java比較編輯器會更新其結構
4.有一個新的toString()產生器
5.為可覆蓋方法增加了一個Open Implementation連結,可以直接打開其實現
6.編輯器與執行環境一致
7.Debug視圖現在提供了breadcrumb(麵包屑),顯示了活動的debug上下文
8.可運行的JAR檔案輸出嚮導還可以把所需的類庫打包進一個要輸出的可運行JAR檔案,或打包進與緊挨著該JAR的一個目錄中
9.當在寫一個分配表達式(allocation expression)時發生補全操作,ch內容助手可以提示一個類的可用構造方法
10.如果檢測到無用代碼,編譯器可以發出警告
11.類庫、變數或容器入口的路徑可以是與項目相關的任何位置
12.在Jovadoc hover的頭部及Javadoc視圖中,都提供了引用其他類型和成員的連結
13.隨該Eclipse發行的JUnit4版本更新為4.5
14.Javadoc視圖及hovers都支持{@inheritDoc}標籤並給覆蓋方法增加連結
15.同一值的比較現在由編譯器檢測,默認情況下會發出警告