點擊上方「 CSDN 」,選擇「置頂公眾號」
關鍵時刻,第一時間送達!
俗話說,好馬配好鞍,才能展現千裡馬的實力。一名好的開發者,必定要有一套好的開發工具才能打造出最好的產品給用戶。要論世界上最好用的 IDE 是哪一種?有人會選擇老牌的 Visual Studio 或是 Eclipse;有人會選擇一路飆升的 IntelliJ;也有人更偏愛 Google 發布的 Android Studio 等等。
每位開發者按照不同的需求及愛好有各自不同的選擇。其中,對於老牌軍 Ecplise 來說,眾多開發者對其真的是又愛又厭倦。曾幾何時,各種昂貴及少量的 IDE 出現,突然有這麼一款免費且開源、速度相對更快、Google 支持、各種教科書推行的 IDE,想必不流行也難。但之後各種 IDE 的百花齊放, Ecplise 的卡頓、插件多、太大、複雜等弊端逐漸顯現,開始走下坡路,一篇《曾經的 Java IDE 王者 Eclipse,它是如何沒落的?》文章也對其趨勢進行了解析:
Eclipse 4 的發布標誌著 Eclipse 的沒落,緩慢的運行速度、奇怪的問題以及醜陋的 UI ,讓 Eclipse 好像一下倒退了好幾年。
Equinox P2 項目的目的是讓插件升級變得更簡單,然而它最終卻變得非常複雜,而且好像要和 InstallShield 競爭成為通用安裝工具。由於這個原因,它最常用的功能——安裝 Eclipse 插件——也不再好用了。
Intellij 社區版和免費的 Android Studio 出現意味著,對於尋求免費 IDE 的純 Java 開發人員、學生和開源項目來說,可以有一個更好的 IDE,無須局限於 Ecplise。
雖說其發展趨勢不如以前,但根據近幾個月的 PYPL 指數來看,Eclipse 也依然保持受歡迎的 IDE 排行榜前三名,且據上個月最新的 PYPL 指數顯示,Eclipse 以 24.93 % 的成績擊敗了 Visual Studio ,奪下冠軍寶座,再次成為最流行的 IDE。
之所以仍受廣大開發者的喜愛,這在很大程度上歸功於該平臺所支持的強大而廣泛的插件生態系統。起初它主要作為 Java 的開發工具,而如今越來越多的人將其用於其他程式語言和框架,從 Scala 和 Kotlin 到 JavaScript 和 Node.js。
多語言、多框架的支持得以實現源於 Eclipse 良好的插件體系結構。將大大小小的各種工具添加到你的 Eclipse 中,就可以擴展其功能並對其進行自定義從而滿足你的特定開發需求。
下面將介紹多個對於開發者來說非常有用的 Eclipse 插件。這其中有的已流行多年,有的盛行不久,有的界面非常可愛,各種各樣插件的存在使得 Eclipse 變得更加強大。
Darkest Dark
如果你也是那種討厭白色背景的人,那麼肯定不會問我為什麼黑屏更好,也不會覺得使用「darkest」修改「dark」是多餘的。我相信你一旦用了 Darkest Dark( https://marketplace.eclipse.org/content/darkest-dark-theme ) 主題之後一定會愛上它,因為它讓你面對一整天電腦屏幕之後的眼睛不那麼難受。
SpotBugs
我個人非常喜歡 SpotBugs( https://marketplace.eclipse.org/content/spotbugs-eclipse-plugin ) 這個工具。我藉助它幫我找出我正在寫的代碼中的錯誤。與之前使用的 FindBugs 工具類似,SpotBugs 像一個嚴格的審計人員一樣,其內部預編了數百個「bug 匹配模板」。它搜索你的代碼,使用bug 模板進行匹配就可以幫助你找到代碼中的錯誤。我相信有一些程式設計師會對 SpotBugs 工具找出的bug表示懷疑,但是有這麼一個工具幫你找出錯誤,給你一定的參考總是好的。
Checkstyle
儘管有時候我像討厭法西斯主義一樣厭惡 Checkstyle( https://marketplace.eclipse.org/content/checkstyle-plug ),但是我必須承認,在每個人都遵循相同規則並以同樣的方式構建代碼的項目工作會更加容易。大腦有一種學習風格的方式,當每個方法的空白處於同一個位置時,大腦就能更快地理解每個人的代碼。當然,你可以編寫 Checkstyle 插件來執行你自己所喜愛的規則,這意味著你可以自己動手定製自己獨特的東西。
Subclipse 與 Subversive
如今在版本控制領域 Git 佔據的份額越來越大,但是依然有很多人使用 Subversion 工具。對於 SVN 用戶來說一般有兩個工具可以選擇:Subclipse( https://marketplace.eclipse.org/content/subclipse/ )和 Subversive( https://marketplace.eclipse.org/content/subversive-svn-team-provider )。這兩者都能很好地完成版本控制管理工作,目前它們各自的用戶數幾乎平分秋色。這兩者的差異主要在於信息呈現方式有所不同。具體使用哪一個取決於個人喜好,不過據統計用戶在使用這兩個工具時都會偶爾遇到一些小問題。
M2Eclipse
M2Eclipse( https://marketplace.eclipse.org/content/maven-integration-eclipse-luna-and-newer ),或者簡稱 M2E ,是將 Maven 構建工具集成到 Eclipse 的首選方案,這樣一來,你的每次保存將觸發 Maven 構建項目而不僅僅是 Eclipse。精心設計的 POM(項目對象模型)避免了需要記住 Maven 的 XML 模式的麻煩,當然,你依然可以編輯原始 XML。上圖顯示了各種代碼的依賴關係。
Unnecessary Code Detector
當我們需要清理代碼並刪除那些不需要的代碼碎片時,Unnecessary Code Detector( https://marketplace.eclipse.org/content/unnecessary-code-detector/metrics ) 就可以完成這項工作。當你點擊按鈕該工具就會出現標誌來告訴你哪些方法不再使用。此外,這個工具還會標記出其他的編碼錯誤,在將代碼提交到倉庫之前使用該工具是非常有用的。
SonarLint
解決空格和 Tab 問題是很多程式設計師都要做的工作,lingting 工具可以幫助我們自動完成這項工作。SonarLint( https://marketplace.eclipse.org/content/sonarlint ) 將 lint 的強大功能帶到了 Eclipse 中。在檢查代碼之前,你可以長時間運行 lint 工具,其內部的代碼審查機制將幫助你解決空格和 Tab 問題。
JRebel
調試代碼從來都不是一件簡單的事,如果你的代碼構建非常複雜那麼調試起來就更不容易了。JRebel( https://marketplace.eclipse.org/content/jrebel-eclipse ) 是一個非常智能的 Java 代理,它可以更改代碼並將其插入到已經運行的代碼中。我一直以來都在使用 JRebel,它非常強大,在重建或者重新運行代碼之前你可以嘗試使用一下 JRebel。這對於 Eclipse 來說非常合適,因為 Eclipse 從一開始就已經完成了大部分的工作。
TestNG
為代碼編寫好的單元測試可能比編寫代碼本身更加重要。TestNG( https://marketplace.eclipse.org/content/testng-eclipse/ ) 將你的測試與 Eclipse 集成在一起,因此你可以很方便地運行它們。編譯之後就產生結果,測試的集成度比以往更高。
JSweet
JSweet( https://github.com/cincheo/jsweet-eclipse-plugin ) 可以將 Java 代碼轉換成 JavaScript 代碼。對於那些想要從 Java 轉到 JavaScript 的程式設計師來說可以繼續編寫Java 代碼。如果你不想花太多精力敲代碼,那麼你可以使用 TypeScript ,當然最終都會轉換為 JavaScript。Eclipse 的這款插件讓你可以通過 Java 代碼實現大部分的功能,然後在最後生成 JavaScript 即可。
Bytecode Outline
大部分程式設計師都沒有契機去了解 Java 堆棧裡面到底發生了什麼。我們使用高級程式語言就可以實現想要的功能。但是當你想要深入挖掘內部機制試圖讓代碼運行更快時,查看實際的 Java 字節碼是非常有用的。如果你是一名真正的程式設計師,你肯定會對深層次的東西充滿興趣。Bytecode Outline(h ttps://marketplace.eclipse.org/content/bytecode-outline ) 正是開啟代碼靈魂窗口的工具。
PyDev
如果你對 Python 的普及程序有所懷疑,那麼不妨看看 PyDev( https://marketplace.eclipse.org/content/pydev-python-ide-eclipse ), 它是一個能夠讓 Python 開發者告別命令行並享受 Eclipse 的強大插件。它不僅支持基本語法,還支持流行的 Python 的框架,比如 Django, 它能夠將 Django 代碼推送到 Google App Engine。它對於 Python 開發者來說是一個完整的開發插件。
Nodeclipse
使用 JavaScript 構建伺服器應用程式已經在無數程式設計師中風靡多時。如今,Nodeclipse( https://marketplace.eclipse.org/content/nodeclipse ) 插件讓開發者從帶有奇怪參數標誌以及無數腳本的命令行中解脫出來,取而代之的是非常友好、易用的高度集成化的開發環境。當然,你仍然可以通過命令行和 VI 編輯器編寫 Node.js 代碼,但是何必要花那麼多的精力去記住大量的命令呢?
Scala IDE
對於那些喜歡功能性語言的開發者來說,Scala 一直以來都充滿吸引力,它提供功能性語言的生產結構和支持,同時可以與來自 Java 世界的龐大代碼庫一起工作。Scala 在 JVM 上運行,它可以連結任何 JAR 文件。因此,Scala 愛好者為 Eclipse 創建一個 Scala IDE( http://scala-ide.org/ ) 也就不足為奇了,他們可以利用 Eclipse 的強大功能來構建他們喜歡的應用程式。
Kotlin
很多人把 Kotlin 看成 Java 的簡化版。Kotlin 擁有豐富的函數式編程特性,擅長處理空值,具有與 Java 的互操作性,能夠生成 JavaScript 和 native 代碼,它受到 Android 開發者的強烈追捧。如果你想加入 Kotlin 的潮流, 那麼針對 Eclipse 的 Kotlin( https://marketplace.eclipse.org/content/kotlin-plugin-eclipse ) 插件將是你的不二選擇。
YEdit
如今並不是所有人都熱衷於使用 JSON 格式來存儲數據。現今另一個熱門的方式是 YAML。樹結構一樣,數據也幾乎相同,它使用縮進而不是大括號。YEdit( https://marketplace.eclipse.org/content/yedit ) 是一個簡易創建 YAML 文件的工具。它的基本概念不難理解,但有時候對於縮進的使用需要一點幫助。
UML Designer
我至始至終都不明白 UML(統一建模語言)有何吸引力,但是仍然有相當數量的人喜歡它,喜歡使用來自 Obeo 的 Eclipse 插件 UML Designer( https://marketplace.eclipse.org/content/uml-designer )。UML 是用於指定、創建和記錄面向對象編程項目元素的標準。當你畫出長方形,所有人都能明白你的意圖。該插件還讓你可以深入定義 UML 的 XML 樹形表示。如果你喜歡 UML ,那麼你可能也會喜歡UML Lab Class Diagram Editor( https://marketplace.eclipse.org/content/uml-lab-class-diagram-editor/metrics ) 和 UML Java Generator( https://marketplace.eclipse.org/content/uml-java-generator/metrics )。
ImageJ
Eclipse 通常情況的使用者是程式設計師,但是隨著計算機滲透到更多科學領域,越來越多科學家+程式設計師雙重身份的人開始湧現。的確,你很難找到一個完全不會寫代碼的科學家。ImageJ( https://marketplace.eclipse.org/content/imagej-plugin ) 是一個強大的圖像分析程序,它徹底改變了大量視覺數據的收集方式。如果你在 Eclipse 中運行它,可以編寫自定義的代碼來自動完成下一篇論文所需的所有數據的收集和整理。
————— END —————
何愁何怨?程式設計師之間的鄙視鏈,你歸屬哪派?
毆打、餵芥末,孩子有什麼錯?攜程的親子園老師如此虐待兒童
老羅的相聲也挽救不了手機的頹勢