Javascript程序員們已經擁有大量優秀的工具方案可供選擇——或者已經能夠用海量來形容,甚至多到難以一一盡述。在今天的文 章中,我們將一同了解十款能夠為Javascript、HTML 5以及CSS提供良好開發支持,并且在文本記錄中提供Markdown功能的文本編輯器。為什么要使用這樣一款編輯器而非完整的IDE來進行 Javascript編程工作呢?一言以蔽之:速度。
編輯器與IDE之間的本質區別在于,后者有能夠調試、甚至在某些情況下對代碼進行測試。IDE同時也支 持應用程序生命周期管理(簡稱ALM)系統。我在這里提到的大部分編輯器都至少支持一種版本控制系統,一般為Git,因此時至今日IDE與編輯器的核心差 異已經不再像過去那樣顯著了。
正如大家將在評分表中所見,Sublime Text仍然雄踞Javascript編輯器領域的競賽榜單,這主要源自其出色的速度表現與便捷的編輯功能。Brackets與TextMate則幾乎并 列居于第二位,不過需要指出的是,TextMate是一款專門面向Mac設備的產品、而Brackets則完全免費。這三款編輯器全部支持ALM系統、 Node.js、Coffeescript、Typescript以及原生或者通過插件實現的其它多種代碼分析工具。值得一提的是,Brackets當中 甚至包含有Javascript調試機制。
其它七款工具就目前來看尚無法與這榜單三甲相抗衡,而且我也暫時不會對它們進行全方位評估。當然,它們也各自擁有自己的特色,因此值得一試。根據手頭工作內容的具體情況,大家可能會發現其中某一款擁有更為出色的表現也未可知。
下面就一起來看這些方案選項,而我將在文章末尾對它們進行橫向比較。
Atom
Atom是一款來自GitHub的免費、開源且可修改的編程編輯器,其立足于Windows、Mac OS X以及Linux系統平臺,同時能夠與GitHub應用程序相集成并提供近1800款軟件包及600個主題。我在實際使用中用到的則僅有9款社區軟件包, 外加73款核心軟件包與12個核心主題。
不出所料,Atom的出身決定了其源代碼由GitHub負責托管。Atom由Coffeescript編寫而成,且集成有 Node.js。Atom屬于Chromium的一套特殊衍生版本,其設計思路更偏向于文本編輯器而非網絡瀏覽器; Atom當中的每一個窗口在本質上講都是一個經過渲染的本地網絡頁面。Atom開發團隊正是在Atom當中進行Atom的開發——聽起來有點像繞口令。
Atom的性能表現非常出色——只要它不對自身進行更新。Atom擁有豐富的功能且開箱即用,其中包括模擬搜索、項目內快速搜索及 替換、多游標與選定、多窗體顯示、片段、代碼層疊以及導入TextMate語法及主題的能力等。Atom能夠安裝兩套命令行工具,通過shell實現編輯 器啟動并利用Apm管理Atom之下的軟件包——類似于Node.js當中的Npm。我發現自己在瀏覽自己克隆自GitHub的資源庫時會頻繁使用 Atom,這是因為GitHub應用程序當中往往包含有直接指向Atom的相關菜單選項。
BBEdit與TextWrangler
BBEdit(售價49.99美元)與TextWrangler(免費)都屬于單純面向Mac平臺的HTMl與文本編輯器。它們支持約 35種編程與標記語言,而且另有社區為BBEdit官方網站上提提供的多種其它語言(但質量也參差不齊)提供支持。兩款編輯工具都具備語法高亮功能; BBEdit還提供一定程度的自動補全機制,其起效范圍主要涵蓋函數名、變量名、一部分關鍵詞以及標簽等。它支持Perforce與 Subversion; 要對Git進行支持能力,大家可以通過shell實現。
BBEdit 11版本對該產品進行了重大修改,如今其速度表現又提升到了新的層次,同時繼續保持著順暢的大文件處理能力。BBEdit中擁 有一項“提取”功能——用于將當前選定或者搜索得到的結果復制到新的緩沖區當中——外加一項“剪貼板”功能。BBEdit能夠編輯并運行Perl、 Python、Ruby以及Shell腳本,此外它還可以對Perl以及Python的腳本內容進行語法檢查。
BBEdit對于HTML以及Markdown的支持能力堪稱優異——其表現優于對Javascript的支持效果。大家可以為BBEdit安裝三款命令行工具:一款用于編輯器,一款用于處理差異引擎,另一款則用于多文件搜索。
TextWrangler也屬于在Mac平臺上值得一試的備選方案。而BBEdit則更適合那些對現有IDE或者編輯器不滿意、或者需要具備大型文件支持能力的用戶。
Brackets
Brackets是一款免費的開源編輯器,其最初由Adobe公司開發、主要面向下一代Web開發內容,在處理Javascript、 HTML、CSS以及與開放Web技術相關的任務方面擁有良好表現。Brackets本身由Javascript、HTML以及CSS編寫而成,開發人員 完全可以利用Brackets來構建Brackets。除了各項內置功能之外,Brackets還擁有一套擴展管理器,其中的各擴展選項適用于大部分前端 開發人員經常使用的語言及工具。Brackets在速度表現方面無法與Sublime Text或者TextMate相媲美,但除了對來自Web的程序內容進行暫停載入或者更新之外、其速度水平仍然稱得上優秀。
Brackets將對Javascript、CSS、HTML以及Node.js的良好支持能力與部分出色功能相結合,其中包括與HTML ID相關的內聯CSS編輯機制(即Quick Edit)。Brackets還提供一套簡潔的UI,且能夠為用戶當前正在編輯的網絡頁面內容進行實時預覽。總而言之,Brackets算得上一款出色的 免費代碼編輯工具。
Brackets中的Javascript自動補全功能擁有令人稱道的表現,其能夠自動補全圓括號、角括號以及中括號,同 時自動為關鍵字、變量以及方法提供下拉菜單選項,其中包括在用戶輸入“$”后提供jQuery方法。Brackets能夠控制Node.js調試工具并通 過菜單選項對Node進行重啟。我們能夠非常輕松地向其中添加擴展以實現額外功能,例如對Typerscript與Coffeescript的支持能力、 Bower集成以及Git集成等。
Quick Edit、Quick Docs、Quick Open以及實時預覽等機制的存在大大簡化了Web應用程序的編輯流程,允許我們將注意力集中在當前進行編碼或者設計的內容身上。但從負面角度 看,Brackets中的一部分擴展可能較難進行配置——不過其具體難度仍然遠低于配置emacs軟件包或者vim插件。
Brackets是一款免費的開源編輯器,由Adobe公司開發,主要面向Web應用程序開發工作。它能夠支持超過30種語言類 型。Brackets本身由HTML、CSS以及Javascript創建而成,并運行在一套瘦原生shell當中。Brackets擴展同樣由 Javascript編寫得來,且能夠調用各類Node.js模塊。與其它通過標簽顯示已打開文件內容的編輯器不同,Brackets擁有一套 Working Files列表,能夠以文件樹結構為基礎進行內容顯示。
Komodo Edit
由ActiveState公司推出的免費編輯器Komodo Edit屬于Komodo IDE的功能精簡版本,但這并不妨礙其成為一款出色的多語言編輯工具。它提供高級Javascript編輯、語法高亮、導航以及調試功能—— Node.js當然也包含在內。與Sublime Text與TextMate一樣,Komodo Edit也支持對多套選定內容進行并行編輯。
如果大家滿意于Komodo IDE的表現但又不愿為此付費,那么Komodo Edit也許能讓各位找到理想的解決方案。不過Komodo Edit并不屬于IDE,因此大家必須真正理解自己需要完成哪些任務。我們需要在編輯器之外自行完成源代碼控制工作。如果各位擁有一套面向版本控制系統的 GUI客戶端(例如GitHub客戶端或者TortoiseSVN),那么這類事務應該不會帶來太多麻煩。
Komodo Edit也沒能提供任何實時代碼協作機制。如果大家是在單槍匹馬搞開發,那么這不會給日常工作造成任何影響。然而如果大家需要同其他開發人員進行緊密協 作,而對方與我們又相隔很遠,那么實時代碼協作機制的欠缺就會對生產效率造成一定程度的影響。除此之外,我們還無法從Komodo Edit中獲得HTTP檢查機制。當然,使用配備Firebug的火狐瀏覽器這類第三方工具能夠幫助我們很好地查看標題與響應,只不過不像內置功能那么便 利而已。
再有,我們也無法從這款編輯器當中獲得發布功能,當然各位完全可以利用FileZilla解決這個問題。效果拔群的 Komodo Rx工具集同樣缺席,我們需要利用Regular-expressions.info網站來填補這一空白——好消息是該服務完全免費。或者,如果大家屬于 Windows用戶,也可以花費39.95美元來購買Regex Buddy或者Regex Magic。當然,一旦大家可以購買這類獨立的功能性實體方案,那么Komodo Edit的使用成本將很快趨近于需要付費的Komodo IDE。
關于這款工具我還可以說得更多,不過最好的辦法是點擊此處直接了解ActiveState公司官方給出的Komodo IDE與Komodo Edit對比說明。在某些情況下,Komodo Edit能夠充分滿足大家在Javascript編輯過程中的實際需求,而且無需支付任何費用——同時提供對HTML、CSS、Python、Perl、 Ruby、Tcl以及多種其它編程及標記語言的編輯能力。
Komodo Edit是一款免費工具,相當于Komodo IDE的精簡功能版本。Komodo Edit與它的表親擁有完全一致的編輯功能,但卻被剝奪了代碼重構、調試、單元測試、源代碼控制集成以及其它一些IDE當中必不可少的功能。
Notepad++
Notepad++是一款免費的Winodws源碼編輯器,同時也在Javascript編輯方面充當著Notepad(也就是記事本)的替 代性方案。它能夠支持大約50種編程及標記語言,同時在多文件編輯窗口內提供樹狀視圖工作區、功能列表標準以及文件映射標簽等額外功能。再 有,Notepad++的載入速度非常出色,性能表現也堪稱理想,我們的工作幾乎不會在這方面受到拖累。
Notepad++的其它功能還包括語法彩色顯示與層疊機制、列模式編輯、支持對正則表達式的搜索與替換外加一系列特定補 全功能與參數提示。Notepad++能夠輕松成為大家處理Javascript開發工作時的首選代碼編輯器。不過,它仍然無法與那些有能力應對代碼生 成、執行重構等操作并在大型項目之內實現快速導航的全功能型Javascript編輯器相媲美。
我曾經在Windows設備上頻繁利用Notepad++進行Javascript應用程序的開發工作。在那個時候,我認 為它在這方面的實際表現要比Visual Studio 2008更出色。由于功能相對簡單,Notepad++能夠讓我將主要精力專注于對當前所需構建的代碼進行調整身上。不過后來,我發現Notepad++ 這種太過簡約的風格會導致實用性缺失,因此我采用了其它一些工具來減少生成代碼所需要的鍵盤操作量。
Notepad++在某些特定情況下仍然非常值得信賴,而且大家可以免費下載到這款工具。如果各位擁有一臺Windows設備或者是Windows虛擬機系統,那么不妨在其中安裝Notepad++以備不時之需。
Notepad++是一款免費的Windows源碼編輯器,屬于處理Javascript文件編輯工作時的Notepad替代方案。它擁有一套工作區樹狀視圖(如上圖左側所示)、一套功能列表標簽(如上圖右側所示)外加一套文件映射標簽(在上圖中位于功能列表的下部)。