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

平輿網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
編輯器與IDE之間的本質(zhì)區(qū)別在于,后者有能夠調(diào)試、甚至在某些情況下對代碼進(jìn)行測試。IDE同時也支 持應(yīng)用程序生命周期管理(簡稱ALM)系統(tǒng)。我在這里提到的大部分編輯器都至少支持一種版本控制系統(tǒng),一般為Git,因此時至今日IDE與編輯器的核心差 異已經(jī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ī)制。
其它七款工具就目前來看尚無法與這榜單三甲相抗衡,而且我也暫時不會對它們進(jìn)行全方位評估。當(dāng)然,它們也各自擁有自己的特色,因此值得一試。根據(jù)手頭工作內(nèi)容的具體情況,大家可能會發(fā)現(xiàn)其中某一款擁有更為出色的表現(xiàn)也未可知。
下面就一起來看這些方案選項(xiàng),而我將在文章末尾對它們進(jìn)行橫向比較。
Atom
Atom是一款來自GitHub的免費(fèi)、開源且可修改的編程編輯器,其立足于Windows、Mac OS X以及Linux系統(tǒng)平臺,同時能夠與GitHub應(yīng)用程序相集成并提供近1800款軟件包及600個主題。我在實(shí)際使用中用到的則僅有9款社區(qū)軟件包, 外加73款核心軟件包與12個核心主題。
不出所料,Atom的出身決定了其源代碼由GitHub負(fù)責(zé)托管。Atom由CoffeeScript編寫而成,且集成有 Node.js。Atom屬于Chromium的一套特殊衍生版本,其設(shè)計(jì)思路更偏向于文本編輯器而非網(wǎng)絡(luò)瀏覽器; Atom當(dāng)中的每一個窗口在本質(zhì)上講都是一個經(jīng)過渲染的本地網(wǎng)絡(luò)頁面。Atom開發(fā)團(tuán)隊(duì)正是在Atom當(dāng)中進(jìn)行Atom的開發(fā)——聽起來有點(diǎn)像繞口令。
Atom的性能表現(xiàn)非常出色——只要它不對自身進(jìn)行更新。Atom擁有豐富的功能且開箱即用,其中包括模擬搜索、項(xiàng)目內(nèi)快速搜索及 替換、多游標(biāo)與選定、多窗體顯示、片段、代碼層疊以及導(dǎo)入TextMate語法及主題的能力等。Atom能夠安裝兩套命令行工具,通過shell實(shí)現(xiàn)編輯 器啟動并利用Apm管理Atom之下的軟件包——類似于Node.js當(dāng)中的Npm。我發(fā)現(xiàn)自己在瀏覽自己克隆自GitHub的資源庫時會頻繁使用 Atom,這是因?yàn)镚itHub應(yīng)用程序當(dāng)中往往包含有直接指向Atom的相關(guān)菜單選項(xiàng)。
#p#
BBEdit與TextWrangler
BBEdit(售價49.99美元)與TextWrangler(免費(fèi))都屬于單純面向Mac平臺的HTMl與文本編輯器。它們支持約 35種編程與標(biāo)記語言,而且另有社區(qū)為BBEdit官方網(wǎng)站上提提供的多種其它語言(但質(zhì)量也參差不齊)提供支持。兩款編輯工具都具備語法高亮功能; BBEdit還提供一定程度的自動補(bǔ)全機(jī)制,其起效范圍主要涵蓋函數(shù)名、變量名、一部分關(guān)鍵詞以及標(biāo)簽等。它支持Perforce與 Subversion; 要對Git進(jìn)行支持能力,大家可以通過shell實(shí)現(xiàn)。
BBEdit 11版本對該產(chǎn)品進(jìn)行了重大修改,如今其速度表現(xiàn)又提升到了新的層次,同時繼續(xù)保持著順暢的大文件處理能力。BBEdit中擁 有一項(xiàng)“提取”功能——用于將當(dāng)前選定或者搜索得到的結(jié)果復(fù)制到新的緩沖區(qū)當(dāng)中——外加一項(xiàng)“剪貼板”功能。BBEdit能夠編輯并運(yùn)行Perl、 Python、Ruby以及Shell腳本,此外它還可以對Perl以及Python的腳本內(nèi)容進(jìn)行語法檢查。
BBEdit對于HTML以及Markdown的支持能力堪稱優(yōu)異——其表現(xiàn)優(yōu)于對JavaScript的支持效果。大家可以為BBEdit安裝三款命令行工具:一款用于編輯器,一款用于處理差異引擎,另一款則用于多文件搜索。
TextWrangler也屬于在Mac平臺上值得一試的備選方案。而BBEdit則更適合那些對現(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相媲美,但除了對來自Web的程序內(nèi)容進(jìn)行暫停載入或者更新之外、其速度水平仍然稱得上優(yōu)秀。
Brackets將對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í)時預(yù)覽。總而言之,Brackets算得上一款出色的 免費(fèi)代碼編輯工具。
Brackets中的JavaScript自動補(bǔ)全功能擁有令人稱道的表現(xiàn),其能夠自動補(bǔ)全圓括號、角括號以及中括號,同 時自動為關(guān)鍵字、變量以及方法提供下拉菜單選項(xiàng),其中包括在用戶輸入“$”后提供jQuery方法。Brackets能夠控制Node.js調(diào)試工具并通 過菜單選項(xiàng)對Node進(jìn)行重啟。我們能夠非常輕松地向其中添加擴(kuò)展以實(shí)現(xiàn)額外功能,例如對TyperScript與CoffeeScript的支持能力、 Bower集成以及Git集成等。
Quick Edit、Quick Docs、Quick Open以及實(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插件。
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的功能精簡版本,但這并不妨礙其成為一款出色的多語言編輯工具。它提供高級JavaScript編輯、語法高亮、導(dǎo)航以及調(diào)試功能—— Node.js當(dāng)然也包含在內(nèi)。與Sublime Text與TextMate一樣,Komodo Edit也支持對多套選定內(nèi)容進(jìn)行并行編輯。
如果大家滿意于Komodo IDE的表現(xiàn)但又不愿為此付費(fèi),那么Komodo Edit也許能讓各位找到理想的解決方案。不過Komodo Edit并不屬于IDE,因此大家必須真正理解自己需要完成哪些任務(wù)。我們需要在編輯器之外自行完成源代碼控制工作。如果各位擁有一套面向版本控制系統(tǒng)的 GUI客戶端(例如GitHub客戶端或者TortoiseSVN),那么這類事務(wù)應(yīng)該不會帶來太多麻煩。
Komodo Edit也沒能提供任何實(shí)時代碼協(xié)作機(jī)制。如果大家是在單槍匹馬搞開發(fā),那么這不會給日常工作造成任何影響。然而如果大家需要同其他開發(fā)人員進(jìn)行緊密協(xié) 作,而對方與我們又相隔很遠(yuǎn),那么實(shí)時代碼協(xié)作機(jī)制的欠缺就會對生產(chǎn)效率造成一定程度的影響。除此之外,我們還無法從Komodo Edit中獲得HTTP檢查機(jī)制。當(dāng)然,使用配備Firebug的火狐瀏覽器這類第三方工具能夠幫助我們很好地查看標(biāo)題與響應(yīng),只不過不像內(nèi)置功能那么便 利而已。
再有,我們也無法從這款編輯器當(dāng)中獲得發(fā)布功能,當(dāng)然各位完全可以利用FileZilla解決這個問題。效果拔群的 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對比說明。在某些情況下,Komodo Edit能夠充分滿足大家在JavaScript編輯過程中的實(shí)際需求,而且無需支付任何費(fèi)用——同時提供對HTML、CSS、Python、Perl、 Ruby、Tcl以及多種其它編程及標(biāo)記語言的編輯能力。
Komodo Edit是一款免費(fèi)工具,相當(dāng)于Komodo IDE的精簡功能版本。Komodo Edit與它的表親擁有完全一致的編輯功能,但卻被剝奪了代碼重構(gòu)、調(diào)試、單元測試、源代碼控制集成以及其它一些IDE當(dāng)中必不可少的功能。
Notepad++
Notepad++是一款免費(fèi)的Winodws源碼編輯器,同時也在JavaScript編輯方面充當(dāng)著Notepad(也就是記事本)的替 代性方案。它能夠支持大約50種編程及標(biāo)記語言,同時在多文件編輯窗口內(nèi)提供樹狀視圖工作區(qū)、功能列表標(biāo)準(zhǔn)以及文件映射標(biāo)簽等額外功能。再 有,Notepad++的載入速度非常出色,性能表現(xiàn)也堪稱理想,我們的工作幾乎不會在這方面受到拖累。
Notepad++的其它功能還包括語法彩色顯示與層疊機(jī)制、列模式編輯、支持對正則表達(dá)式的搜索與替換外加一系列特定補(bǔ) 全功能與參數(shù)提示。Notepad++能夠輕松成為大家處理JavaScript開發(fā)工作時的***代碼編輯器。不過,它仍然無法與那些有能力應(yīng)對代碼生 成、執(zhí)行重構(gòu)等操作并在大型項(xiàng)目之內(nèi)實(shí)現(xiàn)快速導(dǎo)航的全功能型JavaScript編輯器相媲美。
我曾經(jīng)在Windows設(shè)備上頻繁利用Notepad++進(jìn)行JavaScript應(yīng)用程序的開發(fā)工作。在那個時候,我認(rèn) 為它在這方面的實(shí)際表現(xiàn)要比Visual Studio 2008更出色。由于功能相對簡單,Notepad++能夠讓我將主要精力專注于對當(dāng)前所需構(gòu)建的代碼進(jìn)行調(diào)整身上。不過后來,我發(fā)現(xiàn)Notepad++ 這種太過簡約的風(fēng)格會導(dǎo)致實(shí)用性缺失,因此我采用了其它一些工具來減少生成代碼所需要的鍵盤操作量。
Notepad++在某些特定情況下仍然非常值得信賴,而且大家可以免費(fèi)下載到這款工具。如果各位擁有一臺Windows設(shè)備或者是Windows虛擬機(jī)系統(tǒng),那么不妨在其中安裝Notepad++以備不時之需。
Notepad++是一款免費(fèi)的Windows源碼編輯器,屬于處理JavaScript文件編輯工作時的Notepad替代方案。它擁有一套工作區(qū)樹狀視圖(如上圖左側(cè)所示)、一套功能列表標(biāo)簽(如上圖右側(cè)所示)外加一套文件映射標(biāo)簽(在上圖中位于功能列表的下部)。
#p#
Sublime Text
如果大家需要一款靈活性突出、功能強(qiáng)大而且具備可擴(kuò)展能力的編程文本編輯器,同時要求其快如閃電而且不介意在多個窗口間切換以實(shí)現(xiàn)代碼檢查、調(diào)試以及部署工作,那么Sublime Text絕對是各位的不二之選。
除了出色的速度表現(xiàn)之外,Sublime Text還能夠提供其它多種值得關(guān)注的優(yōu)勢,例如能夠支持超過70種文件類型,具體包括JavaScript、HTML以及CSS等等; 具備近即時導(dǎo)航及即時項(xiàng)目切換; 支持多內(nèi)容選定(讓大量變更得以一次性完成),包括列選定(選定文件中的一個矩形區(qū)域); 支持多窗口(可使用全部現(xiàn)有顯示器)以及拆分窗口(充分利用當(dāng)前顯示器所提供的顯示區(qū)域); 對簡單JSON文件進(jìn)行全面定制; 基于Python的插件API外加一套統(tǒng)一化、可搜索的命令面板。
對于已經(jīng)熟悉其它編輯工具的編程人員而言,Sublime Text能夠支持TextMate綁定(不包含具體命令)以及Vi/Vim模擬。Sublime Text的非官方說明文檔中存在針對Emacs用戶(例如moi)的蔑視性(且不正確)言論,但我個人選擇直接忽視。為什么直到現(xiàn)在這些非官方 Sublime Text說明文檔仍然存在?這個嘛,主要是因?yàn)槠涔俜秸f明文檔還不夠完善——或者說遠(yuǎn)遠(yuǎn)稱不上完善。
沒錯,之前提到的“近即時導(dǎo)航”確實(shí)客觀存在。舉例來說,要從當(dāng)前位置屏幕切換到ajax.js當(dāng)中的getResponseHeader定義處,我只需要在Mac設(shè)備上按下Command+P或者在PC上按下Ctrl+P即可,這時aj會在ajax.js當(dāng)中打開一個瞬態(tài)視圖,而后利用@grh與回車鍵為選定的getResponseHeader打開一個標(biāo)簽。Sublime Text能夠始終緊跟我的操作節(jié)奏。它的響應(yīng)效果類似于早些年最出色的DOS編輯器,例如Brief與Kedit。
一旦選定了getResponseHeader,我就能夠通過在Mac設(shè)備上按下Shift+Command+F或者在PC上按下Shift+Ctrl+F配合回車來對 文本內(nèi)容中的該函數(shù)使用部署進(jìn)行搜索。該編輯器隨后會提供一個新標(biāo)簽,并通過其中的搜索字段框顯示出符合搜索要求的結(jié)果——每項(xiàng)結(jié)果包含五行代碼片段。如 果對框內(nèi)的文本內(nèi)容進(jìn)行雙擊,編輯器會另行提供一個新標(biāo)簽、并在其中顯示完整的上下文內(nèi)容。
點(diǎn)擊窗口左側(cè)文件夾側(cè)欄內(nèi)的文件名會激活一個瞬態(tài)標(biāo)簽,其中顯示該文件的具體內(nèi)容。這時點(diǎn)擊其它文件,則該標(biāo)簽的內(nèi)容會被 替換為新文件的內(nèi)容。在這里我得再次強(qiáng)調(diào),Sublime Text能夠很好地跟上我的操作節(jié)奏。同樣的,窗口頂部的縮略導(dǎo)航標(biāo)簽允許在最近查看過的文件內(nèi)容之間即時切換,而無需把時間浪費(fèi)在上下滾動身上。我真心 希望微軟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),且其中每一個詞都要由雙括號圈起、并保證所有引用詞都要以逗號加以分隔,對吧?在Sublime Text當(dāng)中,這一操作只需要敲擊八次鍵盤就能完成——無論大家實(shí)際在列表中塞入了多少個詞匯。
在我的Windows開發(fā)設(shè)備上,我使用到了兩臺寬屏顯示器。在MacBook上,我選擇的則是Retina屏 外加Thunderbolt外接顯示器的組合方案。除非需要用一臺顯示器進(jìn)行內(nèi)容編輯、利用另一臺進(jìn)行代碼調(diào)試,否則我通常希望能夠在單一顯示器上盡可能 多地同時查看不同源文件以及各源文件的不同視圖。Sublime Text支持多窗口顯示、拆分窗口顯示、每項(xiàng)目多工作區(qū)顯示、多視圖以及視圖內(nèi)多窗格顯示。它能夠非常簡便地滿足我對顯示空間充分利用的要求,而且在我進(jìn) 行調(diào)試與測試時將更多顯示載體納入進(jìn)來。
我們能夠?qū)ublime Text當(dāng)中的一切加以定制:配色方案、文本字體、全局按鍵綁定、制表位、面向文件的特定按鍵綁定與組合、甚至包括語法高亮規(guī)則等等。這些個人偏好會以 JSON文件的方式進(jìn)行編碼。特定語言定義則保存為XML偏好文件。Sublime Text還擁有一整套活躍的技術(shù)社區(qū),其中創(chuàng)建并維護(hù)著大量Sublime Text軟件包及插件。我在最初使用Sublime Text時發(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ā)人員的角度來看,這無疑又是另一個頗為棘手的權(quán)衡選項(xiàng)。如果大家的主要工作是處理“紅、綠、重構(gòu)”這樣以測試為核心 的緊湊性開發(fā)循環(huán),那么IDE所提供的集編輯、測試、重構(gòu)與代碼追蹤為一體的全局性方案無疑最為適合。但在另一方面,如果大家單純只是需要進(jìn)行代碼審查或 者以編輯工作為主,那么Sublime Text無疑是我們所能獲得的速度最快且***效率的編輯工具——請注意,沒有之一。
#p#
TextMate
TextMate曾是那些坐在咖啡廳的桌子旁邊利用自己的MacBook編寫Ruby on Rails的潮流青年的***。在之后的發(fā)展當(dāng)中,TextMate的表現(xiàn)開始趨于平庸,而Sublime Text的異軍突起更是使其被廣大開發(fā)人員所忽視。然而隨著2.0版本的出臺,這款編輯工具呈現(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)然,如果大家正確設(shè)置了Grunt,那么也是可以實(shí)現(xiàn)該級別的JavaScript自動測試效果的。
十年前那些利用TextMate構(gòu)建Rails應(yīng)用程序的潮流青年們(如果我沒記錯,還包括DHH)必須得通過敲擊鍵盤 (即Shift+\)來觸發(fā)測試運(yùn)行。在一部分其它Rails IDE當(dāng)中,他們可以在保存后自動實(shí)現(xiàn)測試運(yùn)行。時至今日,他們則已經(jīng)能夠利用Jenkins服務(wù)器在git push之上自動觸發(fā)回歸測試。
TextMate 2.0是一款立足于Mac且對代碼及標(biāo)記機(jī)制進(jìn)行了全新升級的編輯器。TextMate并不屬于IDE,但其片段、宏與范圍系統(tǒng)往往能夠提供那些面向特定語言的IDE所不具備的功能。如上圖所示,TextMate當(dāng)中包含JavaScript與jQuery的“綁定”機(jī)制。
需要注意的是,該產(chǎn)品所內(nèi)置的只是那些***人氣的綁定方案。TextMate擁有一套偏好標(biāo)簽,大家可以通過檢測對應(yīng)的對 話框來下載并安裝其它綁定內(nèi)容。綁定內(nèi)容的源代碼,事實(shí)上也就是該產(chǎn)品的源代碼,駐留在GitHub庫當(dāng)中。我發(fā)現(xiàn)在為大量自己聽說過但卻并不常用的語言 添加了綁定包之后,整套編輯的操作菜單會變得有些臃腫且難于使用。不過一旦大家掌握了自己使用頻率***的那些綁定命令的按鍵映射,那么菜單內(nèi)容再多也不會 造成什么阻礙了。
Markdown支持能力由軟件包內(nèi)的綁定內(nèi)容之一實(shí)現(xiàn)。除此之外,TextMate還包含文件預(yù)覽功能、Markdown備忘清單以及大量用于生成Markdown標(biāo)記的操作快捷鍵。
盡管目前尚不具備完善的說明文檔資源,但Git綁定機(jī)制的存在能夠?qū)extMate與Git以及GitHub進(jìn)行良好整 合。TextMate能夠順利識別出我的現(xiàn)有Git資源庫,而且我不需要在將其作為項(xiàng)目目錄打開時面對任何額外的提示,此外它還能夠利用綁定包中的 pull命令從GitHub處實(shí)現(xiàn)內(nèi)容更新。SQL綁定包則允許大家利用TextMate與MySQL以及PostgreSQL數(shù)據(jù)庫進(jìn)行協(xié)作。
在速度表現(xiàn)方面,TextMate與Sublime Text基本處于同一水平線上。也許TextMate的速度水平稍遜后者一籌,但我得用秒表才能確認(rèn)這種差距。反正我個人對這種幾乎難以察覺的區(qū)別是不太在意啦。
TextMate允許大家在編程對話框中的Bundles標(biāo)簽下安裝自己需要的綁定包。這項(xiàng)功能不怎么顯眼,不過我在 GitHub上瀏覽TextMate資源庫時偶然得以發(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)時往往成為人們議論并嘲笑的對象。GNU Emacs正是GNU項(xiàng)目的原型; 而Richard Stallman(即rms)與其他多位同事的激烈分歧最終導(dǎo)致后者集體離開AI實(shí)驗(yàn)室,轉(zhuǎn)而另起爐灶通過Lucid以及Symbolics作為香火的延 續(xù)。
我倒不會用“滾出我的視野”這種過激的方式來作出評論,不過在上世紀(jì)七十年代末,我在自己的VT-52終端上由Teco向 Emacs轉(zhuǎn)移的決定也絕對稱得上順理成章。自那時以來的幾十年時間里,我一直在多種計(jì)算設(shè)備以及操作系統(tǒng)之上使用著Emacs的各類衍生方案。我有不少 朋友直到現(xiàn)在還會將全部軟件開發(fā)任務(wù)交由Emacs來完成; 更夸張的是,想當(dāng)初他們連閱讀郵件及新聞組信息都要使用Emacs。
安裝在Mac OS X系統(tǒng)上的EMacs默認(rèn)為22.1.1版本,而且其不提供對GUI的支持能力。大家可以在任意系統(tǒng)平臺上安裝XEmacs、Qauamacs(也就是面 向Mac OS X的GUI版本)以及更新的GNU Emacs版本。如果大家屬于較為守舊的那類用戶,也可以用惟一的真正方式構(gòu)建惟一的真正編輯器:直接使用源碼。只需稍加調(diào)整,我們就能擁有自己的一套定 制化Emacs(提示:利用Emacs編輯自己的.emacs文件,并在進(jìn)行保存之前在緩沖區(qū)內(nèi)對自己的Elisp代碼進(jìn)行測試),其中可以包含幾乎一切 我們需要的軟件包,具體包括Adventure以及Tetris。當(dāng)然,大家可能還希望將Melpa作為軟件包庫添加進(jìn)去。
下面從JavaScript編輯器的角度對Emacs進(jìn)行一番審視:其用于編輯JavaScript代碼的***默認(rèn)模式立 足于js軟件包,但大家也可以通過js2-mode軟件包實(shí)現(xiàn)更理想的語法高亮及提示功能,并享受來自ac-js2的自動補(bǔ)全機(jī)制。我們能夠通過 skewer-mode交互機(jī)制對JavaScript、HTML以及CSS進(jìn)行實(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安裝方案絕對是力與美的***體現(xiàn)。對于希望享受真正復(fù)古樂趣的朋友(如果大家厭倦了JavaScript),那么安裝一套 Common Lisp(例如SBCL)以及SLIME模式并對內(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)平臺所開發(fā),其演進(jìn)過程由最初的ed到現(xiàn)在的ex。Vim是一款免費(fèi)、開源且經(jīng)過改進(jìn)的Vi版本,其適用于Windows以及Unix系統(tǒng)平臺; 安裝在Mac OS X之上的Vim默認(rèn)為7.3版本。在嘗試Vim(以及Vi)之前,大家首先必須了解一點(diǎn),也就是如何退出這款編輯器:
大家可以非常輕松地完成Vim新版本、MacVim(即面向Mac OS X系統(tǒng)平臺的GUI)或者其它任何適用于當(dāng)前系統(tǒng)平臺的相關(guān)工具的安裝流程。如果再花點(diǎn)心思,我們還能安裝一套插件管理器(我個人使用的是vim- plug)、針對特定插件進(jìn)行.vimrc文件編輯并安裝插件(在使用vim-plug的情況下,具體命令為:PlugInstall)。(這聽起來是不是跟Emacs頗為相似?別急,還有更多……)如果各位屬于懷舊型用戶,也可以利用源代碼構(gòu)建屬于自己的Vim定制方案。
要將Vim作為JavaScript編輯器來使用,我給大家的建議是首先認(rèn)真閱讀vim-plug中的自述文件。而如果在 網(wǎng)絡(luò)上搜索“vim javascript語法”,大家往往會得到一系列相互矛盾的建議。與Emacs用戶類似,只要不帶偏見地看,身為Vi用戶其實(shí)也沒什么不好。在另一方 面,我們能獲得的大部分建議都非常實(shí)用,其中全面涵蓋了如何構(gòu)建一套完全合適且充滿使用樂趣的Vim安裝方案,雖然在美觀方面還有所欠缺——畢竟源代碼就 是那樣兒,也無需過度苛求。我最初會在沒有安裝Emacs的系統(tǒng)上使用Vi,但在隨后的十年里一直是Emacs的忠實(shí)擁護(hù)者——理由很簡單,我實(shí)在受不了
#p#
十款編輯器橫向比較
根據(jù)大家具體面向客戶端JavaScript或者Node.js使用需求,我們擁有多種不同的備選方案。如果各位希望找到 一款功能強(qiáng)大、迅如閃電且能夠應(yīng)對JavaScript以及其它多種語言的編程文本編輯器,同時又不介意花上80美元,那么Sublime Text很可能成為最理想的解決方案。在速度表現(xiàn)與功能配置方面緊隨其后的則是TextMate,但其僅限于Mac OS X用戶。
Brackets與Atom是兩款年輕的免費(fèi)編程文本編輯器,同樣值得大家予以關(guān)注。Brackets在面對Node.js開發(fā)工作時,其功能設(shè)置幾乎可以達(dá)到IDE的高度; 而Atom則能夠與GitHub桌面客戶端實(shí)現(xiàn)緊密集成。
如果大家屬于懷舊型用戶而且不介意花點(diǎn)時間和精力定制屬于自己的編輯器,那么Emacs或者Vim很可能成為各位的心頭 好。大家甚至能夠?qū)⑺鼈冝D(zhuǎn)化成IDE或者與之類似的實(shí)用性方案。接下來,如果各位打算處理開源腳本語言,那么Komodo Edit也許***要求。在Windows系統(tǒng)平臺上,Notepad++速度夠快、實(shí)用性很強(qiáng)而且完全免費(fèi); 在Mac OS X平臺上,TextWrangler亦擁有同樣的這三項(xiàng)優(yōu)勢。如果大家喜歡TextWrangler而且不介意花點(diǎn)小錢,那么它的同門師兄BBEdit絕 對值得認(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代碼自動補(bǔ)全功能非常出色。
·包含一套Node.js調(diào)試工具。
·允許用戶輕松實(shí)現(xiàn)額外功能擴(kuò)展,例如TypeScript與CoffeeScript支持能力、Bower集成以及Git集成等等。
·Quick Edit、Quick Docs以及實(shí)時預(yù)覽等功能將幫助用戶簡化Web應(yīng)用程序的內(nèi)容編輯流程。
·完全免費(fèi)的開源軟件。
缺點(diǎn)
·部分?jǐn)U展難于配置,但難度仍低于Emacs軟件包或者Vim插件。
·速度表現(xiàn)無法與Sublime Text或者TextMate相媲美,但除了對來自Web的程序內(nèi)容進(jìn)行暫停載入之外、其它情況下的速度表現(xiàn)尚可接受。
Sublime Text 3.3083 / Sublime HQ Pty Ltddirectup
總體概述
如果大家需要的是一款靈活、強(qiáng)大而且具備可擴(kuò)展能力的編程文本編輯器,同時要求其擁有出色的速度 表現(xiàn),那么Sublime Text將是各位的不二選擇。除此之外,它也是一款跨平臺工具。雖然Sublime Text并不屬于IDE,但它能夠利用各類插件實(shí)現(xiàn)IDE所提供的一部分功能。
售價為70美元。當(dāng)然,大家也可以使用其無限免費(fèi)試用版本——只要各位能忍受偶爾出現(xiàn)的提示彈窗。
優(yōu)點(diǎn)
·支持面向超過50種編程語言的語法高亮功能,其中包括JavaScript、HTML以及CSS。
·啟動、文件載入、查看以及滾動等方面的速度表現(xiàn)皆無可挑剔。
·出色的編輯與導(dǎo)航機(jī)制。
·能夠輕松與外部構(gòu)建系統(tǒng)相集成。
·利用插件可輕松實(shí)現(xiàn)功能擴(kuò)展。
缺點(diǎn)
·自身不具備版本控制能力,不過大家可以利用多種版本控制插件解決這一問題——具體價位在免費(fèi)到10美元區(qū)間。
·缺少代碼重構(gòu)及代碼分析功能。
TextMate 2.0-beta 7.1 / MacroMatesdirectup
總體概述
TextMate是一款編程編輯器而非IDE,但卻能夠利用其“綁定”、片段、宏以及范圍系統(tǒng)為用戶提供一部分面向特定語言的IDE亦無法實(shí)現(xiàn)的功能。
售價63美元。
優(yōu)點(diǎn)
·一款速度出色且具備可擴(kuò)展能力的編程編輯器,能夠支持幾乎任何我們叫得上名字的編程語言。
·綁定、片段、宏、范圍系統(tǒng)外加shell集成能力使其幾乎能夠在生產(chǎn)力水平上與IDE相媲美。
·擁有活躍的發(fā)展態(tài)勢,源代碼托管于GitHub之上。
缺點(diǎn)
·只支持Mac OS X系統(tǒng)平臺。
·說明文檔目前尚不完備。
原文鏈接:
http://www.infoworld.com/article/2920786/javascript/review-10-javascript-editors-compared.html
分享題目:綜合評測:十款JavaScript編輯器大比拼
轉(zhuǎn)載來源:http://m.fisionsoft.com.cn/article/cdespog.html


咨詢
建站咨詢
