自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

綜合評(píng)測:十款JavaScript編輯器大比拼

譯文
開發(fā) 開發(fā)工具 前端
Sublime Text、TextMate以及Brackets在功能與速度表現(xiàn)方面名列前茅。

JavaScript程序員們已經(jīng)擁有大量優(yōu)秀的工具方案可供選擇——或者已經(jīng)能夠用海量來形容,甚至多到難以一一盡述。在今天的文 章中,我們將一同了解十款能夠?yàn)镴avaScript、HTML 5以及CSS提供良好開發(fā)支持,并且在文本記錄中提供Markdown功能的文本編輯器。為什么要使用這樣一款編輯器而非完整的IDE來進(jìn)行 JavaScript編程工作呢?一言以蔽之:速度。

綜合評(píng)測:十款JavaScript編輯器大比拼

編輯器與IDE之間的本質(zhì)區(qū)別在于,后者有能夠調(diào)試、甚至在某些情況下對(duì)代碼進(jìn)行測試。IDE同時(shí)也支 持應(yīng)用程序生命周期管理(簡稱ALM)系統(tǒng)。我在這里提到的大部分編輯器都至少支持一種版本控制系統(tǒng),一般為Git,因此時(shí)至今日IDE與編輯器的核心差 異已經(jīng)不再像過去那樣顯著了。

正如大家將在評(píng)分表中所見,Sublime Text仍然雄踞JavaScript編輯器領(lǐng)域的競賽榜單,這主要源自其出色的速度表現(xiàn)與便捷的編輯功能。Brackets與TextMate則幾乎并 列居于第二位,不過需要指出的是,TextMate是一款專門面向Mac設(shè)備的產(chǎn)品、而Brackets則完全免費(fèi)。這三款編輯器全部支持ALM系統(tǒng)、 Node.js、CoffeeScript、TypeScript以及原生或者通過插件實(shí)現(xiàn)的其它多種代碼分析工具。值得一提的是,Brackets當(dāng)中 甚至包含有JavaScript調(diào)試機(jī)制。

其它七款工具就目前來看尚無法與這榜單三甲相抗衡,而且我也暫時(shí)不會(huì)對(duì)它們進(jìn)行全方位評(píng)估。當(dāng)然,它們也各自擁有自己的特色,因此值得一試。根據(jù)手頭工作內(nèi)容的具體情況,大家可能會(huì)發(fā)現(xiàn)其中某一款擁有更為出色的表現(xiàn)也未可知。

下面就一起來看這些方案選項(xiàng),而我將在文章末尾對(duì)它們進(jìn)行橫向比較。

Atom

Atom是一款來自GitHub的免費(fèi)、開源且可修改的編程編輯器,其立足于Windows、Mac OS X以及Linux系統(tǒng)平臺(tái),同時(shí)能夠與GitHub應(yīng)用程序相集成并提供近1800款軟件包及600個(gè)主題。我在實(shí)際使用中用到的則僅有9款社區(qū)軟件包, 外加73款核心軟件包與12個(gè)核心主題。

不出所料,Atom的出身決定了其源代碼由GitHub負(fù)責(zé)托管。Atom由CoffeeScript編寫而成,且集成有 Node.js。Atom屬于Chromium的一套特殊衍生版本,其設(shè)計(jì)思路更偏向于文本編輯器而非網(wǎng)絡(luò)瀏覽器; Atom當(dāng)中的每一個(gè)窗口在本質(zhì)上講都是一個(gè)經(jīng)過渲染的本地網(wǎng)絡(luò)頁面。Atom開發(fā)團(tuán)隊(duì)正是在Atom當(dāng)中進(jìn)行Atom的開發(fā)——聽起來有點(diǎn)像繞口令。

Atom的性能表現(xiàn)非常出色——只要它不對(duì)自身進(jìn)行更新。Atom擁有豐富的功能且開箱即用,其中包括模擬搜索、項(xiàng)目內(nèi)快速搜索及 替換、多游標(biāo)與選定、多窗體顯示、片段、代碼層疊以及導(dǎo)入TextMate語法及主題的能力等。Atom能夠安裝兩套命令行工具,通過shell實(shí)現(xiàn)編輯 器啟動(dòng)并利用Apm管理Atom之下的軟件包——類似于Node.js當(dāng)中的Npm。我發(fā)現(xiàn)自己在瀏覽自己克隆自GitHub的資源庫時(shí)會(huì)頻繁使用 Atom,這是因?yàn)镚itHub應(yīng)用程序當(dāng)中往往包含有直接指向Atom的相關(guān)菜單選項(xiàng)。

#p#

BBEdit與TextWrangler

BBEdit(售價(jià)49.99美元)與TextWrangler(免費(fèi))都屬于單純面向Mac平臺(tái)的HTMl與文本編輯器。它們支持約 35種編程與標(biāo)記語言,而且另有社區(qū)為BBEdit官方網(wǎng)站上提提供的多種其它語言(但質(zhì)量也參差不齊)提供支持。兩款編輯工具都具備語法高亮功能; BBEdit還提供一定程度的自動(dòng)補(bǔ)全機(jī)制,其起效范圍主要涵蓋函數(shù)名、變量名、一部分關(guān)鍵詞以及標(biāo)簽等。它支持Perforce與 Subversion; 要對(duì)Git進(jìn)行支持能力,大家可以通過shell實(shí)現(xiàn)。

BBEdit 11版本對(duì)該產(chǎn)品進(jìn)行了重大修改,如今其速度表現(xiàn)又提升到了新的層次,同時(shí)繼續(xù)保持著順暢的大文件處理能力。BBEdit中擁 有一項(xiàng)“提取”功能——用于將當(dāng)前選定或者搜索得到的結(jié)果復(fù)制到新的緩沖區(qū)當(dāng)中——外加一項(xiàng)“剪貼板”功能。BBEdit能夠編輯并運(yùn)行Perl、 Python、Ruby以及Shell腳本,此外它還可以對(duì)Perl以及Python的腳本內(nèi)容進(jìn)行語法檢查。

BBEdit對(duì)于HTML以及Markdown的支持能力堪稱優(yōu)異——其表現(xiàn)優(yōu)于對(duì)JavaScript的支持效果。大家可以為BBEdit安裝三款命令行工具:一款用于編輯器,一款用于處理差異引擎,另一款則用于多文件搜索。

TextWrangler也屬于在Mac平臺(tái)上值得一試的備選方案。而BBEdit則更適合那些對(duì)現(xiàn)有IDE或者編輯器不滿意、或者需要具備大型文件支持能力的用戶。

Brackets

Brackets是一款免費(fèi)的開源編輯器,其最初由Adobe公司開發(fā)、主要面向下一代Web開發(fā)內(nèi)容,在處理JavaScript、 HTML、CSS以及與開放Web技術(shù)相關(guān)的任務(wù)方面擁有良好表現(xiàn)。Brackets本身由JavaScript、HTML以及CSS編寫而成,開發(fā)人員 完全可以利用Brackets來構(gòu)建Brackets。除了各項(xiàng)內(nèi)置功能之外,Brackets還擁有一套擴(kuò)展管理器,其中的各擴(kuò)展選項(xiàng)適用于大部分前端 開發(fā)人員經(jīng)常使用的語言及工具。Brackets在速度表現(xiàn)方面無法與Sublime Text或者TextMate相媲美,但除了對(duì)來自Web的程序內(nèi)容進(jìn)行暫停載入或者更新之外、其速度水平仍然稱得上優(yōu)秀。

Brackets將對(duì)JavaScript、CSS、HTML以及Node.js的良好支持能力與部分出色功能相結(jié)合,其中包括與HTML ID相關(guān)的內(nèi)聯(lián)CSS編輯機(jī)制(即Quick Edit)。Brackets還提供一套簡潔的UI,且能夠?yàn)橛脩舢?dāng)前正在編輯的網(wǎng)絡(luò)頁面內(nèi)容進(jìn)行實(shí)時(shí)預(yù)覽??偠灾珺rackets算得上一款出色的 免費(fèi)代碼編輯工具。

Brackets中的JavaScript自動(dòng)補(bǔ)全功能擁有令人稱道的表現(xiàn),其能夠自動(dòng)補(bǔ)全圓括號(hào)、角括號(hào)以及中括號(hào),同 時(shí)自動(dòng)為關(guān)鍵字、變量以及方法提供下拉菜單選項(xiàng),其中包括在用戶輸入“$”后提供jQuery方法。Brackets能夠控制Node.js調(diào)試工具并通 過菜單選項(xiàng)對(duì)Node進(jìn)行重啟。我們能夠非常輕松地向其中添加擴(kuò)展以實(shí)現(xiàn)額外功能,例如對(duì)TyperScript與CoffeeScript的支持能力、 Bower集成以及Git集成等。

Quick Edit、Quick Docs、Quick Open以及實(shí)時(shí)預(yù)覽等機(jī)制的存在大大簡化了Web應(yīng)用程序的編輯流程,允許我們將注意力集中在當(dāng)前進(jìn)行編碼或者設(shè)計(jì)的內(nèi)容身上。但從負(fù)面角度 看,Brackets中的一部分?jǐn)U展可能較難進(jìn)行配置——不過其具體難度仍然遠(yuǎn)低于配置emacs軟件包或者vim插件。

綜合評(píng)測:十款JavaScript編輯器大比拼

Brackets是一款免費(fèi)的開源編輯器,由Adobe公司開發(fā),主要面向Web應(yīng)用程序開發(fā)工作。它能夠支持超過30種語言類 型。Brackets本身由HTML、CSS以及JavaScript創(chuàng)建而成,并運(yùn)行在一套瘦原生shell當(dāng)中。Brackets擴(kuò)展同樣由 JavaScript編寫得來,且能夠調(diào)用各類Node.js模塊。與其它通過標(biāo)簽顯示已打開文件內(nèi)容的編輯器不同,Brackets擁有一套 Working Files列表,能夠以文件樹結(jié)構(gòu)為基礎(chǔ)進(jìn)行內(nèi)容顯示。

#p#

Komodo Edit

由ActiveState公司推出的免費(fèi)編輯器Komodo Edit屬于Komodo IDE的功能精簡版本,但這并不妨礙其成為一款出色的多語言編輯工具。它提供高級(jí)JavaScript編輯、語法高亮、導(dǎo)航以及調(diào)試功能—— Node.js當(dāng)然也包含在內(nèi)。與Sublime Text與TextMate一樣,Komodo Edit也支持對(duì)多套選定內(nèi)容進(jìn)行并行編輯。

如果大家滿意于Komodo IDE的表現(xiàn)但又不愿為此付費(fèi),那么Komodo Edit也許能讓各位找到理想的解決方案。不過Komodo Edit并不屬于IDE,因此大家必須真正理解自己需要完成哪些任務(wù)。我們需要在編輯器之外自行完成源代碼控制工作。如果各位擁有一套面向版本控制系統(tǒng)的 GUI客戶端(例如GitHub客戶端或者TortoiseSVN),那么這類事務(wù)應(yīng)該不會(huì)帶來太多麻煩。

Komodo Edit也沒能提供任何實(shí)時(shí)代碼協(xié)作機(jī)制。如果大家是在單槍匹馬搞開發(fā),那么這不會(huì)給日常工作造成任何影響。然而如果大家需要同其他開發(fā)人員進(jìn)行緊密協(xié) 作,而對(duì)方與我們又相隔很遠(yuǎn),那么實(shí)時(shí)代碼協(xié)作機(jī)制的欠缺就會(huì)對(duì)生產(chǎn)效率造成一定程度的影響。除此之外,我們還無法從Komodo Edit中獲得HTTP檢查機(jī)制。當(dāng)然,使用配備Firebug的火狐瀏覽器這類第三方工具能夠幫助我們很好地查看標(biāo)題與響應(yīng),只不過不像內(nèi)置功能那么便 利而已。

再有,我們也無法從這款編輯器當(dāng)中獲得發(fā)布功能,當(dāng)然各位完全可以利用FileZilla解決這個(gè)問題。效果拔群的 Komodo Rx工具集同樣缺席,我們需要利用Regular-Expressions.info網(wǎng)站來填補(bǔ)這一空白——好消息是該服務(wù)完全免費(fèi)?;蛘?,如果大家屬于 Windows用戶,也可以花費(fèi)39.95美元來購買Regex Buddy或者Regex Magic。當(dāng)然,一旦大家可以購買這類獨(dú)立的功能性實(shí)體方案,那么Komodo Edit的使用成本將很快趨近于需要付費(fèi)的Komodo IDE。

關(guān)于這款工具我還可以說得更多,不過***的辦法是點(diǎn)擊此處直接了解ActiveState公司官方給出的Komodo IDE與Komodo Edit對(duì)比說明。在某些情況下,Komodo Edit能夠充分滿足大家在JavaScript編輯過程中的實(shí)際需求,而且無需支付任何費(fèi)用——同時(shí)提供對(duì)HTML、CSS、Python、Perl、 Ruby、Tcl以及多種其它編程及標(biāo)記語言的編輯能力。

綜合評(píng)測:十款JavaScript編輯器大比拼

Komodo Edit是一款免費(fèi)工具,相當(dāng)于Komodo IDE的精簡功能版本。Komodo Edit與它的表親擁有完全一致的編輯功能,但卻被剝奪了代碼重構(gòu)、調(diào)試、單元測試、源代碼控制集成以及其它一些IDE當(dāng)中必不可少的功能。

Notepad++

Notepad++是一款免費(fèi)的Winodws源碼編輯器,同時(shí)也在JavaScript編輯方面充當(dāng)著Notepad(也就是記事本)的替 代性方案。它能夠支持大約50種編程及標(biāo)記語言,同時(shí)在多文件編輯窗口內(nèi)提供樹狀視圖工作區(qū)、功能列表標(biāo)準(zhǔn)以及文件映射標(biāo)簽等額外功能。再 有,Notepad++的載入速度非常出色,性能表現(xiàn)也堪稱理想,我們的工作幾乎不會(huì)在這方面受到拖累。

Notepad++的其它功能還包括語法彩色顯示與層疊機(jī)制、列模式編輯、支持對(duì)正則表達(dá)式的搜索與替換外加一系列特定補(bǔ) 全功能與參數(shù)提示。Notepad++能夠輕松成為大家處理JavaScript開發(fā)工作時(shí)的***代碼編輯器。不過,它仍然無法與那些有能力應(yīng)對(duì)代碼生 成、執(zhí)行重構(gòu)等操作并在大型項(xiàng)目之內(nèi)實(shí)現(xiàn)快速導(dǎo)航的全功能型JavaScript編輯器相媲美。

我曾經(jīng)在Windows設(shè)備上頻繁利用Notepad++進(jìn)行JavaScript應(yīng)用程序的開發(fā)工作。在那個(gè)時(shí)候,我認(rèn) 為它在這方面的實(shí)際表現(xiàn)要比Visual Studio 2008更出色。由于功能相對(duì)簡單,Notepad++能夠讓我將主要精力專注于對(duì)當(dāng)前所需構(gòu)建的代碼進(jìn)行調(diào)整身上。不過后來,我發(fā)現(xiàn)Notepad++ 這種太過簡約的風(fēng)格會(huì)導(dǎo)致實(shí)用性缺失,因此我采用了其它一些工具來減少生成代碼所需要的鍵盤操作量。

Notepad++在某些特定情況下仍然非常值得信賴,而且大家可以免費(fèi)下載到這款工具。如果各位擁有一臺(tái)Windows設(shè)備或者是Windows虛擬機(jī)系統(tǒng),那么不妨在其中安裝Notepad++以備不時(shí)之需。

綜合評(píng)測:十款JavaScript編輯器大比拼

Notepad++是一款免費(fèi)的Windows源碼編輯器,屬于處理JavaScript文件編輯工作時(shí)的Notepad替代方案。它擁有一套工作區(qū)樹狀視圖(如上圖左側(cè)所示)、一套功能列表標(biāo)簽(如上圖右側(cè)所示)外加一套文件映射標(biāo)簽(在上圖中位于功能列表的下部)。

#p#

Sublime Text

[[134194]]

如果大家需要一款靈活性突出、功能強(qiáng)大而且具備可擴(kuò)展能力的編程文本編輯器,同時(shí)要求其快如閃電而且不介意在多個(gè)窗口間切換以實(shí)現(xiàn)代碼檢查、調(diào)試以及部署工作,那么Sublime Text絕對(duì)是各位的不二之選。

除了出色的速度表現(xiàn)之外,Sublime Text還能夠提供其它多種值得關(guān)注的優(yōu)勢,例如能夠支持超過70種文件類型,具體包括JavaScript、HTML以及CSS等等; 具備近即時(shí)導(dǎo)航及即時(shí)項(xiàng)目切換; 支持多內(nèi)容選定(讓大量變更得以一次性完成),包括列選定(選定文件中的一個(gè)矩形區(qū)域); 支持多窗口(可使用全部現(xiàn)有顯示器)以及拆分窗口(充分利用當(dāng)前顯示器所提供的顯示區(qū)域); 對(duì)簡單JSON文件進(jìn)行全面定制; 基于Python的插件API外加一套統(tǒng)一化、可搜索的命令面板。

對(duì)于已經(jīng)熟悉其它編輯工具的編程人員而言,Sublime Text能夠支持TextMate綁定(不包含具體命令)以及Vi/Vim模擬。Sublime Text的非官方說明文檔中存在針對(duì)Emacs用戶(例如moi)的蔑視性(且不正確)言論,但我個(gè)人選擇直接忽視。為什么直到現(xiàn)在這些非官方 Sublime Text說明文檔仍然存在?這個(gè)嘛,主要是因?yàn)槠涔俜秸f明文檔還不夠完善——或者說遠(yuǎn)遠(yuǎn)稱不上完善。

沒錯(cuò),之前提到的“近即時(shí)導(dǎo)航”確實(shí)客觀存在。舉例來說,要從當(dāng)前位置屏幕切換到ajax.js當(dāng)中的getResponseHeader定義處,我只需要在Mac設(shè)備上按下Command+P或者在PC上按下Ctrl+P即可,這時(shí)aj會(huì)在ajax.js當(dāng)中打開一個(gè)瞬態(tài)視圖,而后利用@grh與回車鍵為選定的getResponseHeader打開一個(gè)標(biāo)簽。Sublime Text能夠始終緊跟我的操作節(jié)奏。它的響應(yīng)效果類似于早些年最出色的DOS編輯器,例如Brief與Kedit。

一旦選定了getResponseHeader,我就能夠通過在Mac設(shè)備上按下Shift+Command+F或者在PC上按下Shift+Ctrl+F配合回車來對(duì) 文本內(nèi)容中的該函數(shù)使用部署進(jìn)行搜索。該編輯器隨后會(huì)提供一個(gè)新標(biāo)簽,并通過其中的搜索字段框顯示出符合搜索要求的結(jié)果——每項(xiàng)結(jié)果包含五行代碼片段。如 果對(duì)框內(nèi)的文本內(nèi)容進(jìn)行雙擊,編輯器會(huì)另行提供一個(gè)新標(biāo)簽、并在其中顯示完整的上下文內(nèi)容。

點(diǎn)擊窗口左側(cè)文件夾側(cè)欄內(nèi)的文件名會(huì)激活一個(gè)瞬態(tài)標(biāo)簽,其中顯示該文件的具體內(nèi)容。這時(shí)點(diǎn)擊其它文件,則該標(biāo)簽的內(nèi)容會(huì)被 替換為新文件的內(nèi)容。在這里我得再次強(qiáng)調(diào),Sublime Text能夠很好地跟上我的操作節(jié)奏。同樣的,窗口頂部的縮略導(dǎo)航標(biāo)簽允許在最近查看過的文件內(nèi)容之間即時(shí)切換,而無需把時(shí)間浪費(fèi)在上下滾動(dòng)身上。我真心 希望微軟Word也能擁有同樣的設(shè)計(jì)效果。

Sublime Text是一款具備極高可配置性及可擴(kuò)展性的文本編輯器,主要面向代碼、標(biāo)記及prose。它能夠提供超過50種現(xiàn)成語法選項(xiàng),其中包括JavaScript(如上圖所示),且可利用TextMate的語法定義實(shí)現(xiàn)支持范疇擴(kuò)展。

多重選定與列選定機(jī)制讓原本令人頭痛的正則表達(dá)式編輯工作變得快捷而便利。在實(shí)際工作中,大家往往需要 將一套詞匯列表轉(zhuǎn)化為JSON結(jié)構(gòu),且其中每一個(gè)詞都要由雙括號(hào)圈起、并保證所有引用詞都要以逗號(hào)加以分隔,對(duì)吧?在Sublime Text當(dāng)中,這一操作只需要敲擊八次鍵盤就能完成——無論大家實(shí)際在列表中塞入了多少個(gè)詞匯。 

在我的Windows開發(fā)設(shè)備上,我使用到了兩臺(tái)寬屏顯示器。在MacBook上,我選擇的則是Retina屏 外加Thunderbolt外接顯示器的組合方案。除非需要用一臺(tái)顯示器進(jìn)行內(nèi)容編輯、利用另一臺(tái)進(jìn)行代碼調(diào)試,否則我通常希望能夠在單一顯示器上盡可能 多地同時(shí)查看不同源文件以及各源文件的不同視圖。Sublime Text支持多窗口顯示、拆分窗口顯示、每項(xiàng)目多工作區(qū)顯示、多視圖以及視圖內(nèi)多窗格顯示。它能夠非常簡便地滿足我對(duì)顯示空間充分利用的要求,而且在我進(jìn) 行調(diào)試與測試時(shí)將更多顯示載體納入進(jìn)來。

我們能夠?qū)ublime Text當(dāng)中的一切加以定制:配色方案、文本字體、全局按鍵綁定、制表位、面向文件的特定按鍵綁定與組合、甚至包括語法高亮規(guī)則等等。這些個(gè)人偏好會(huì)以 JSON文件的方式進(jìn)行編碼。特定語言定義則保存為XML偏好文件。Sublime Text還擁有一整套活躍的技術(shù)社區(qū),其中創(chuàng)建并維護(hù)著大量Sublime Text軟件包及插件。我在最初使用Sublime Text時(shí)發(fā)現(xiàn)的大量功能缺失——包括JSLint與JSHint接口、JSFormat、JsMinify、PrettyJSON以及Git支持能力等 ——如今都已經(jīng)通過Package Installer由社區(qū)成員們陸續(xù)推出。

Sublime Text擁有出色性能表現(xiàn)的一大原因在于,它采取緊湊的編碼機(jī)制。另一項(xiàng)原因則源自Sublime Text并不屬于IDE,所以它不需要像IDE那樣將性能浪費(fèi)在記錄工作身上。

從開發(fā)人員的角度來看,這無疑又是另一個(gè)頗為棘手的權(quán)衡選項(xiàng)。如果大家的主要工作是處理“紅、綠、重構(gòu)”這樣以測試為核心 的緊湊性開發(fā)循環(huán),那么IDE所提供的集編輯、測試、重構(gòu)與代碼追蹤為一體的全局性方案無疑最為適合。但在另一方面,如果大家單純只是需要進(jìn)行代碼審查或 者以編輯工作為主,那么Sublime Text無疑是我們所能獲得的速度最快且***效率的編輯工具——請(qǐng)注意,沒有之一。

#p#

TextMate

TextMate曾是那些坐在咖啡廳的桌子旁邊利用自己的MacBook編寫Ruby on Rails的潮流青年的***。在之后的發(fā)展當(dāng)中,TextMate的表現(xiàn)開始趨于平庸,而Sublime Text的異軍突起更是使其被廣大開發(fā)人員所忽視。然而隨著2.0版本的出臺(tái),這款編輯工具呈現(xiàn)出了強(qiáng)勢回歸的勃勃生機(jī)。

TextMate并不屬于IDE,但憑借著其“綁定”、片段、宏以及范圍系統(tǒng),大家往往能夠在這里找到一些連面向特定語言的IDE都無法提 供的功能。TextMate現(xiàn)在內(nèi)置具備純JavaScript以及jQuery(但并不限于這兩種語言)綁定機(jī)制,其中包括能夠顯著提高 JavaScript與jQuery代碼生成速度的一系列工具。在IDE類功能方面,大家可以使用TextMate中的shell集成機(jī)制,但想利用它進(jìn) 行代碼重構(gòu)或者自動(dòng)單元/回歸測試卻仍然不太可能。當(dāng)然,如果大家正確設(shè)置了Grunt,那么也是可以實(shí)現(xiàn)該級(jí)別的JavaScript自動(dòng)測試效果的。

十年前那些利用TextMate構(gòu)建Rails應(yīng)用程序的潮流青年們(如果我沒記錯(cuò),還包括DHH)必須得通過敲擊鍵盤 (即Shift+\)來觸發(fā)測試運(yùn)行。在一部分其它Rails IDE當(dāng)中,他們可以在保存后自動(dòng)實(shí)現(xiàn)測試運(yùn)行。時(shí)至今日,他們則已經(jīng)能夠利用Jenkins服務(wù)器在git push之上自動(dòng)觸發(fā)回歸測試。

TextMate 2.0是一款立足于Mac且對(duì)代碼及標(biāo)記機(jī)制進(jìn)行了全新升級(jí)的編輯器。TextMate并不屬于IDE,但其片段、宏與范圍系統(tǒng)往往能夠提供那些面向特定語言的IDE所不具備的功能。如上圖所示,TextMate當(dāng)中包含JavaScript與jQuery的“綁定”機(jī)制。

需要注意的是,該產(chǎn)品所內(nèi)置的只是那些***人氣的綁定方案。TextMate擁有一套偏好標(biāo)簽,大家可以通過檢測對(duì)應(yīng)的對(duì) 話框來下載并安裝其它綁定內(nèi)容。綁定內(nèi)容的源代碼,事實(shí)上也就是該產(chǎn)品的源代碼,駐留在GitHub庫當(dāng)中。我發(fā)現(xiàn)在為大量自己聽說過但卻并不常用的語言 添加了綁定包之后,整套編輯的操作菜單會(huì)變得有些臃腫且難于使用。不過一旦大家掌握了自己使用頻率***的那些綁定命令的按鍵映射,那么菜單內(nèi)容再多也不會(huì) 造成什么阻礙了。

Markdown支持能力由軟件包內(nèi)的綁定內(nèi)容之一實(shí)現(xiàn)。除此之外,TextMate還包含文件預(yù)覽功能、Markdown備忘清單以及大量用于生成Markdown標(biāo)記的操作快捷鍵。

盡管目前尚不具備完善的說明文檔資源,但Git綁定機(jī)制的存在能夠?qū)extMate與Git以及GitHub進(jìn)行良好整 合。TextMate能夠順利識(shí)別出我的現(xiàn)有Git資源庫,而且我不需要在將其作為項(xiàng)目目錄打開時(shí)面對(duì)任何額外的提示,此外它還能夠利用綁定包中的 pull命令從GitHub處實(shí)現(xiàn)內(nèi)容更新。SQL綁定包則允許大家利用TextMate與MySQL以及PostgreSQL數(shù)據(jù)庫進(jìn)行協(xié)作。

在速度表現(xiàn)方面,TextMate與Sublime Text基本處于同一水平線上。也許TextMate的速度水平稍遜后者一籌,但我得用秒表才能確認(rèn)這種差距。反正我個(gè)人對(duì)這種幾乎難以察覺的區(qū)別是不太在意啦。

綜合評(píng)測:十款JavaScript編輯器大比拼

TextMate允許大家在編程對(duì)話框中的Bundles標(biāo)簽下安裝自己需要的綁定包。這項(xiàng)功能不怎么顯眼,不過我在 GitHub上瀏覽TextMate資源庫時(shí)偶然得以發(fā)現(xiàn)。正如該repo在描述中所言,“此庫中的文件遵循GPL 3(或者更新版本),但(作為原始創(chuàng)建者)我們?nèi)匀辉试S用戶創(chuàng)建非自由衍生方案。”

#p#

Emacs

Emacs和它的繼承者乃至衍生方案早在上世紀(jì)七十年代初就已經(jīng)誕生于麻省理工學(xué)院的AI實(shí)驗(yàn)室,其最初作為Teco文本編輯器的宏 方案存在、但隨后逐步拉起隊(duì)伍自成體系。Emacs的發(fā)布日期在當(dāng)時(shí)往往成為人們議論并嘲笑的對(duì)象。GNU Emacs正是GNU項(xiàng)目的原型; 而Richard Stallman(即rms)與其他多位同事的激烈分歧最終導(dǎo)致后者集體離開AI實(shí)驗(yàn)室,轉(zhuǎn)而另起爐灶通過Lucid以及Symbolics作為香火的延 續(xù)。

我倒不會(huì)用“滾出我的視野”這種過激的方式來作出評(píng)論,不過在上世紀(jì)七十年代末,我在自己的VT-52終端上由Teco向 Emacs轉(zhuǎn)移的決定也絕對(duì)稱得上順理成章。自那時(shí)以來的幾十年時(shí)間里,我一直在多種計(jì)算設(shè)備以及操作系統(tǒng)之上使用著Emacs的各類衍生方案。我有不少 朋友直到現(xiàn)在還會(huì)將全部軟件開發(fā)任務(wù)交由Emacs來完成; 更夸張的是,想當(dāng)初他們連閱讀郵件及新聞組信息都要使用Emacs。

安裝在Mac OS X系統(tǒng)上的EMacs默認(rèn)為22.1.1版本,而且其不提供對(duì)GUI的支持能力。大家可以在任意系統(tǒng)平臺(tái)上安裝XEmacs、Qauamacs(也就是面 向Mac OS X的GUI版本)以及更新的GNU Emacs版本。如果大家屬于較為守舊的那類用戶,也可以用惟一的真正方式構(gòu)建惟一的真正編輯器:直接使用源碼。只需稍加調(diào)整,我們就能擁有自己的一套定 制化Emacs(提示:利用Emacs編輯自己的.emacs文件,并在進(jìn)行保存之前在緩沖區(qū)內(nèi)對(duì)自己的Elisp代碼進(jìn)行測試),其中可以包含幾乎一切 我們需要的軟件包,具體包括Adventure以及Tetris。當(dāng)然,大家可能還希望將Melpa作為軟件包庫添加進(jìn)去。

下面從JavaScript編輯器的角度對(duì)Emacs進(jìn)行一番審視:其用于編輯JavaScript代碼的***默認(rèn)模式立 足于js軟件包,但大家也可以通過js2-mode軟件包實(shí)現(xiàn)更理想的語法高亮及提示功能,并享受來自ac-js2的自動(dòng)補(bǔ)全機(jī)制。我們能夠通過 skewer-mode交互機(jī)制對(duì)JavaScript、HTML以及CSS進(jìn)行實(shí)時(shí)瀏覽。當(dāng)然,另有大量面向Git、Subversion以及其它 ALM工具的軟件包可供選擇。

如果大家想搞點(diǎn)非主流的使用方式,那么不妨利用Emacs軟件包進(jìn)行Vi或者WordStar模擬。當(dāng)然,如果這些用法聽 起來太過復(fù)雜,那么各位也不必費(fèi)心用死記硬背Emacs所提供的那些按鍵組合操作。Ctrl+x與Ctrl+c已經(jīng)足以滿足大部分操作需求。總而言之,根 據(jù)需求細(xì)心調(diào)整而成的Emacs安裝方案絕對(duì)是力與美的***體現(xiàn)。對(duì)于希望享受真正復(fù)古樂趣的朋友(如果大家厭倦了JavaScript),那么安裝一套 Common Lisp(例如SBCL)以及SLIME模式并對(duì)內(nèi)容進(jìn)行適當(dāng)修改,我們就能體驗(yàn)到當(dāng)年麻省理工學(xué)院AI實(shí)驗(yàn)室中那群技術(shù)人員的使用感受了。

Vim及其衍生版本

Vi(即visual interface)最初是由Bill Joy于1965年為Unix系統(tǒng)平臺(tái)所開發(fā),其演進(jìn)過程由最初的ed到現(xiàn)在的ex。Vim是一款免費(fèi)、開源且經(jīng)過改進(jìn)的Vi版本,其適用于Windows以及Unix系統(tǒng)平臺(tái); 安裝在Mac OS X之上的Vim默認(rèn)為7.3版本。在嘗試Vim(以及Vi)之前,大家首先必須了解一點(diǎn),也就是如何退出這款編輯器:<Esc>:q<Enter>。

大家可以非常輕松地完成Vim新版本、MacVim(即面向Mac OS X系統(tǒng)平臺(tái)的GUI)或者其它任何適用于當(dāng)前系統(tǒng)平臺(tái)的相關(guān)工具的安裝流程。如果再花點(diǎn)心思,我們還能安裝一套插件管理器(我個(gè)人使用的是vim- plug)、針對(duì)特定插件進(jìn)行.vimrc文件編輯并安裝插件(在使用vim-plug的情況下,具體命令為:PlugInstall)。(這聽起來是不是跟Emacs頗為相似?別急,還有更多……)如果各位屬于懷舊型用戶,也可以利用源代碼構(gòu)建屬于自己的Vim定制方案。

要將Vim作為JavaScript編輯器來使用,我給大家的建議是首先認(rèn)真閱讀vim-plug中的自述文件。而如果在 網(wǎng)絡(luò)上搜索“vim javascript語法”,大家往往會(huì)得到一系列相互矛盾的建議。與Emacs用戶類似,只要不帶偏見地看,身為Vi用戶其實(shí)也沒什么不好。在另一方 面,我們能獲得的大部分建議都非常實(shí)用,其中全面涵蓋了如何構(gòu)建一套完全合適且充滿使用樂趣的Vim安裝方案,雖然在美觀方面還有所欠缺——畢竟源代碼就 是那樣兒,也無需過度苛求。我最初會(huì)在沒有安裝Emacs的系統(tǒng)上使用Vi,但在隨后的十年里一直是Emacs的忠實(shí)擁護(hù)者——理由很簡單,我實(shí)在受不了<Esc>:q<Enter>這種詭異的編輯器退出方式。

#p#

十款編輯器橫向比較

根據(jù)大家具體面向客戶端JavaScript或者Node.js使用需求,我們擁有多種不同的備選方案。如果各位希望找到 一款功能強(qiáng)大、迅如閃電且能夠應(yīng)對(duì)JavaScript以及其它多種語言的編程文本編輯器,同時(shí)又不介意花上80美元,那么Sublime Text很可能成為最理想的解決方案。在速度表現(xiàn)與功能配置方面緊隨其后的則是TextMate,但其僅限于Mac OS X用戶。

Brackets與Atom是兩款年輕的免費(fèi)編程文本編輯器,同樣值得大家予以關(guān)注。Brackets在面對(duì)Node.js開發(fā)工作時(shí),其功能設(shè)置幾乎可以達(dá)到IDE的高度; 而Atom則能夠與GitHub桌面客戶端實(shí)現(xiàn)緊密集成。

如果大家屬于懷舊型用戶而且不介意花點(diǎn)時(shí)間和精力定制屬于自己的編輯器,那么Emacs或者Vim很可能成為各位的心頭 好。大家甚至能夠?qū)⑺鼈冝D(zhuǎn)化成IDE或者與之類似的實(shí)用性方案。接下來,如果各位打算處理開源腳本語言,那么Komodo Edit也許***要求。在Windows系統(tǒng)平臺(tái)上,Notepad++速度夠快、實(shí)用性很強(qiáng)而且完全免費(fèi); 在Mac OS X平臺(tái)上,TextWrangler亦擁有同樣的這三項(xiàng)優(yōu)勢。如果大家喜歡TextWrangler而且不介意花點(diǎn)小錢,那么它的同門師兄BBEdit絕 對(duì)值得認(rèn)真考慮。

Brackets 1.2 / Adobe Systems公司出品

總體概述

Brackets是一款免費(fèi)的開源編輯器,主要專注于Web設(shè)計(jì)并能夠支持種類廣泛的編程語言。它能夠提供面向JavaScript、CSS、HTML以及Node.js的良好支持效果,而且速度性與實(shí)用性兼?zhèn)?。Brackets可以算是免費(fèi)代碼編輯器中的理想選項(xiàng)。

遵循MIT許可的免費(fèi)開源工具。

優(yōu)點(diǎn)

·JavaScript代碼自動(dòng)補(bǔ)全功能非常出色。

·包含一套Node.js調(diào)試工具。

·允許用戶輕松實(shí)現(xiàn)額外功能擴(kuò)展,例如TypeScript與CoffeeScript支持能力、Bower集成以及Git集成等等。

·Quick Edit、Quick Docs以及實(shí)時(shí)預(yù)覽等功能將幫助用戶簡化Web應(yīng)用程序的內(nèi)容編輯流程。

·完全免費(fèi)的開源軟件。

缺點(diǎn)

·部分?jǐn)U展難于配置,但難度仍低于Emacs軟件包或者Vim插件。

·速度表現(xiàn)無法與Sublime Text或者TextMate相媲美,但除了對(duì)來自Web的程序內(nèi)容進(jìn)行暫停載入之外、其它情況下的速度表現(xiàn)尚可接受。

Sublime Text 3.3083 / Sublime HQ Pty Ltddirectup

總體概述

如果大家需要的是一款靈活、強(qiáng)大而且具備可擴(kuò)展能力的編程文本編輯器,同時(shí)要求其擁有出色的速度 表現(xiàn),那么Sublime Text將是各位的不二選擇。除此之外,它也是一款跨平臺(tái)工具。雖然Sublime Text并不屬于IDE,但它能夠利用各類插件實(shí)現(xiàn)IDE所提供的一部分功能。

售價(jià)為70美元。當(dāng)然,大家也可以使用其無限免費(fèi)試用版本——只要各位能忍受偶爾出現(xiàn)的提示彈窗。

優(yōu)點(diǎn)

·支持面向超過50種編程語言的語法高亮功能,其中包括JavaScript、HTML以及CSS。

·啟動(dòng)、文件載入、查看以及滾動(dòng)等方面的速度表現(xiàn)皆無可挑剔。

·出色的編輯與導(dǎo)航機(jī)制。

·能夠輕松與外部構(gòu)建系統(tǒng)相集成。

·利用插件可輕松實(shí)現(xiàn)功能擴(kuò)展。

缺點(diǎn)

·自身不具備版本控制能力,不過大家可以利用多種版本控制插件解決這一問題——具體價(jià)位在免費(fèi)到10美元區(qū)間。

·缺少代碼重構(gòu)及代碼分析功能。

TextMate 2.0-beta 7.1 / MacroMatesdirectup

總體概述

TextMate是一款編程編輯器而非IDE,但卻能夠利用其“綁定”、片段、宏以及范圍系統(tǒng)為用戶提供一部分面向特定語言的IDE亦無法實(shí)現(xiàn)的功能。

售價(jià)63美元。

優(yōu)點(diǎn)

·一款速度出色且具備可擴(kuò)展能力的編程編輯器,能夠支持幾乎任何我們叫得上名字的編程語言。

·綁定、片段、宏、范圍系統(tǒng)外加shell集成能力使其幾乎能夠在生產(chǎn)力水平上與IDE相媲美。

·擁有活躍的發(fā)展態(tài)勢,源代碼托管于GitHub之上。

缺點(diǎn)

·只支持Mac OS X系統(tǒng)平臺(tái)。

·說明文檔目前尚不完備。

原文鏈接:

http://www.infoworld.com/article/2920786/javascript/review-10-javascript-editors-compared.html

原文標(biāo)題:Review: 10 JavaScript editors compared

 

責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2017-05-23 08:45:44

JavaScript云存儲(chǔ)深度學(xué)習(xí)

2009-12-01 08:47:41

2024-02-22 13:55:41

前端動(dòng)畫庫

2010-09-02 17:20:34

2009-11-09 09:41:09

木馬殺軟評(píng)測

2010-03-18 14:54:46

主流無線技術(shù)

2011-01-19 11:10:30

2012-06-18 09:49:11

虛擬化

2009-09-22 09:59:05

服務(wù)器售后服務(wù)

2014-01-07 17:08:02

Java開源框架

2010-09-08 15:41:28

SIP協(xié)議棧

2017-09-10 14:29:03

眼力

2010-08-25 16:12:34

職場

2021-03-15 21:07:17

IT行業(yè)薪酬薪水

2010-05-28 11:09:51

SVN功能

2023-05-26 15:53:48

MidjourneyAI圖像

2011-11-08 10:29:44

2020-08-04 17:06:40

Merging Rebasing Git

2010-07-14 13:38:51

Perl開發(fā)工具

2024-10-07 08:32:54

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)