Eclipse

集成開發環境

Eclipse 是一個開放源代碼的、基於Java的可擴展開發平台。就其本身而言,它只是一個框架和一組服務,用於通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。

基本含義


eclipse-galileo
eclipse-galileo
雖然大多數用戶很樂於將 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發行日期
Callisto3.22006年6月26日N/AN/A
Europa3.32007年6月27日2007年9月28日2008年2月29日
Ganymede3.42008年6月25日2008年9月24日2009年2月25日
Galileo3.52009年6月24日2009年9月25日2010年2月26日
Helios3.62010年6月23日2010年9月24日2011年2月25日
Indigo3.72011年6月22日2011年9月23日2012年2月24日
Juno3.8及4.22012年6月27日2012年9月28日2013年3月1日
Kepler4.32013年6月26日2013年9月27日2014年2月28日
Luna4.42014年6月25日2014年9月25日2015年2月27日
Mars4.52015年6月25日N/AN/A
Mars4.52015年6月24日2015年9月22日2016年2月24日N/A火星
Neon4.62016年6月22日2016年9月28日2016年12月21日2017年3月23日霓虹燈
Oxygen4.72017年6月28日2017年9月27日2017年12月20日2018年3月21日 氧氣
Photon4.82018年6月27日N/AN/AN/A光子
2018-094.92018年9月19日N/AN/AN/AN/A
2018-124.102018年12月19日N/AN/AN/AN/A
2019-034.112019年3月20日N/AN/AN/AN/A
2019-064.122019年6月19日N/AN/AN/AN/A
2019-094.132019年9月18日N/AN/AN/AN/A
2019-124.142019年12月N/AN/AN/AN/A
2020-034.152020年3月18日N/AN/AN/AN/A
2020-064.152020年3月18日N/AN/AN/AN/A
2020‑124.18.02020年12月17日N/AN/AN/AN/A
2021-034.19.02021年03月18日N/AN/AN/AN/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執行操作。

使用技巧


快捷方式

0. Ctrl + 1 (快速修復)
1. Ctrl + D (刪除當前行)
2. Ctrl + Alt + ↓(複製當前行到下一行)
3. Alt + / 或者說是 Ctrl + 空格(由於後者與輸入法的快捷鍵衝突,所以,我一般都用前者)作用:快速插入。
4. Alt+Shift+R 重命名非常好用。
5. Ctrl + Q 定位到最後編輯的地方。
6. Ctrl + Shift + O 自動導入包。
7. Ctrl+/ 註釋當前行,再按則取消註釋。
8. Ctrl+K快速查找。
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安裝插件
Eclipse Macketpalce
Eclipse Macketpalce
從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.同一值的比較現在由編譯器檢測,默認情況下會發出警告