英文:Martin Heller 譯文:葡萄城控制項 學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入學習交流群343599877,我們一起學前端! 對於JavaScript程式員來說,目前有很多很棒的工具可供選擇。本文將會討論10個優秀的支持JavaScript,HTML5和CSS開發,並且可 ...
英文:Martin Heller 譯文:葡萄城控制項
學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入學習交流群343599877,我們一起學前端!
對於JavaScript程式員來說,目前有很多很棒的工具可供選擇。本文將會討論10個優秀的支持JavaScript,HTML5和CSS開發,並且可以使用Markdown進行文檔編寫的文本編輯器。為什麼使用編輯器而不是IDE進行JavaScript編程?原因就是速度快。
編輯器和IDE之間的本質區別在於:IDE不但可以調試,並且可以對代碼進行概要分析,IDE還支持應用程式的生命周期管理(ALM)系統。我們在這裡討論的許多編輯器至少支持一個版本控制系統,通常是Git,現在IDE和編輯器之間的區別也越來越小。
在這10個JavaScript編輯器中,Sublime Text和Visual Studio Code是其中排名靠前的兩個。Sublime Text以其速度和方便的編輯功能多樣性出名,Visual Studio Code的功能和速度與Sublime Text幾乎一致。TextMate排名第三,雖然TextMate在兩年前排名第一,但其功能並沒有真正跟上發展。
你很可能在Sublime Text,Visual Studio Code和Brackets中找到自己喜歡的JavaScript編輯器,但是還有其它的編輯器工具Atom,BBEdit,Komodo Edit,Notepad ++,Emacs和Vim等值得瞭解。你可以根據現在的項目,選擇其中最為方便使用的編輯工具。
下麵我們來瞭解所有的編輯器,文末會對它們進行對比。
Sublime Text
如果你想要一個靈活、強大、可擴展的文本編輯器,它能夠如閃電般快速運行,並且支持切換到其它視窗進行代碼檢查、調試和部署,那麼可以考慮使用Sublime Text。
除了速度較快以外,Sublime Text還有許多值得註意的優勢,它涵蓋了70多種文件類型,其中包括JavaScript、HTML和CSS; 即時導航和即時項目切換; 多選項(一次進行一系列更改),包括列選擇(一次選擇文件的一個矩形區域); 多視窗(使用你的所有顯示器視窗)和拆分視窗; 使用簡單的JSON文件進行完整的自定義; 基於Python的插件API; 一個統一的、可搜索的命令板。
對於使用其它編輯器的程式員來說,Sublime Text支持TextMate包(不包括命令)和Vi / Vim模擬。
Sublime Text是一個高度可配置和可擴展的文本編輯器。它包含超過50種語法,其中包括JavaScript,它可以使用Sublime軟體包和TextMate語法定義進行擴展。可以能夠通過少量按鍵來安裝Babel(React)和TypeScript(Angular)的語法和支持。
Sublime Text支持多個視窗、拆分視窗,每個項目可以有多個工作區、多個視圖以及包含視圖的多個窗格。當想要整合、調試和測試空間時,使用所有的屏幕空間會變得相當簡單的。Sublime Text還支持所有內容的自定義:顏色,文本字體,全局鍵綁定,製表符停止,特定文件的鍵綁定和代碼段,甚至語法突出顯示規則等。Sublime Text的編碼文件預設為JSON文件,語言定義預設是XML。
Sublime Text有一個活躍的用於創建和維護Sublime Text包和插件的社區。Sublime Text缺少的許多功能,包括JSLint和JSHint介面,JsFormat,JsMinify,PrettyJSON和Git支持 ,都可以通過社區使用Package Installer來實現。
官網鏈接:http://www.sublimetext.com/
下載地址:http://www.sublimetext.com/3
Visual Studio Code
Visual Studio Code是一個的免費的輕量級編輯器和IDE,它是Microsoft發佈的。它具有Visual Studio組件,能與開源的Atom Electron shell混合使用。它對於使用C#進行ASP.Net Core的開發,提供了極好的支持;同時它也通過TypeScript和JavaScript為Node.js的開發,提供了極好的支持。不同於Visual Studio僅在Windows上支持的慣例,Visual Studio Code也能在MacOS和Linux上運行。
由於包含了TypeScript編譯器和Salsa引擎,Visual Studio Code具有非常好的JavaScript代碼完成功能。Visual Studio Code會將JavaScript代碼發送到後臺的TypeScript編譯器來推斷類型並構建符號表。你可以在屏幕圖像底部的框中看到hasOwnProperty方法的信息。
相同的符號表使得IntelliSense能夠在整個表達式的輸入過程中,為你提供出色的彈出式選項列表。你可以獲得以下功能:填入後自動關閉、自動填寫完成選項、鍵入後的自動方法列表和方法中的自動參數列表。你可以通過從DefinitelyTyped添加對d.ts文件的引用,來增強IntelliSense。當你識別常見問題(例如使用Node.js內置變數中的__dirname)時,Visual Studio Code將為你提供這些功能。
Visual Studio Code是一個免費的輕量級編輯器和IDE,用於Node.js和ASP.Net 開發。它結合了Microsoft技術,例如TypeScript編譯器、Roslyn .Net編譯器和Atom使用的Electron shell。Visual Studio Code適用於Windows,MacOS和Linux平臺。
Visual Studio Code的Git支持非常好,使用起來很簡單。Visual Studio Code調試器為Node.js和ASP.Net開發提供了出色的調試體驗。Visual Studio Code具有非常好的HTML,CSS,Less,Sass和JSON工具,這個工具是基於與Internet Explorer F12開發人員工具相同的技術。此外,Visual Studio Code可以與外部任務運行程式(如gulp和jake)進行可定製的集成。
Visual Studio Code有著強大的插件生態系統,例如支持Angular和React。推薦可以在使用JavaScript和TypeScript框架和庫構建應用程式時使用Visual Studio Code。
官網鏈接:https://code.visualstudio.com/
下載地址:https://code.visualstudio.com/Download
Brackets
Brackets是一個免費的開源編輯器,最初來自於Adobe,旨在為JavaScript,HTML和CSS提供更好的工具以及相關的開放式Web技術。Brackets本身是用JavaScript,HTML和CSS編寫的。除了內置功能外,Brackets還有一個擴展管理器,用於擴展前端開發人員使用的許多語言和工具。Brackets不像Sublime Text和TextMate那樣運行的很快,但除了從網路載入或更新程式內容的暫停之外,它仍然運行的非常快。
Brackets不僅對JavaScript,CSS,HTML和Node.js有著很好的支持,它還具有一些其它很棒的功能,例如與HTML ID相關的CSS線上編輯。此外,Brackets有著一個簡潔的UI界面和編輯時網頁的實時預覽。對於免費的代碼編輯器來說,Brackets是一個很好的選擇。
Brackets擴展也是用JavaScript編寫的,還可以調用Node.js模塊。與大多數在選項卡中顯示打開文件的編輯器不同的是,Brackets具有顯示在文件樹上方的工作文件列表。
Brackets的JavaScript自動完成功能非常好,自動填寫各類括弧的結束括弧,以及jQuery方法中鍵入$之後的關鍵字、變數和方法的自動下拉菜單。Brackets可以控制Node.js的調試器,並從菜單項中重新啟動Node。Brackets可以很方便的添加附加功能的擴展(例如TypeScript和JSX支持,Bower集成和Git集成)。
快速編輯、快速保存文檔、快速打開文件和實時預覽均有助於簡化Web應用程式編輯,讓你專註於編碼或設計。Brackets也有一些缺點,例如一些Brackets擴展很難配置,不像Emacs軟體包或Vim插件那樣容易。
官網鏈接:http://brackets.io/
下載地址:https://github.com/adobe/brackets/releases/download/release-1.9/Brackets.Release.1.9.msi
Atom
Atom 1.15.0是一款GitHub上的免費的開放源代碼、可編程的編輯器,適用於Windows,MacOS和Linux平臺,它與GitHub應用程式集成在一起,擁有很多個可用的軟體包和主題。
Atom源代碼位於GitHub上,它是用CoffeeScript編寫的,與Node.js集成在一起。Atom是Chromium瀏覽器的一個特殊的存在,它被設計成一個文本編輯器而不是一個Web瀏覽器; 每個Atom視窗本質上都是一個本地呈現的網頁。
當Atom不自動更新時,性能是非常好的。它具有一些非常棒的功能,例如模糊搜索、快速項目搜索和替換、多個游標和選擇、多個窗格、代碼段、代碼摺疊以及導入TextMate語法和主題的功能。Atom可以安裝兩個命令行實用程式:Atom,用於從shell啟動編輯器;APM,用於管理Atom的軟體包。
官網鏈接:https://atom.io/
下載地址:https://atom.io/download/windows_x64
Komodo Edit
Komodo Edit 是ActiveState的一個免費的,縮小功能版本的Komodo IDE,它是一個很酷的多語言編輯器。
如果你喜歡Komodo IDE但是卻支付不起,那麼Komodo Edit會是你的一個好選擇。Komodo Edit不是一個IDE,所以你需要在編輯器外完成代碼控制。
它不提供實時代碼收集功能,如果你獨立開發,不與其他人合代碼,就沒有任何問題。它也不提供HTTP檢查器。Komodo Edit具有與Komodo IDE相同的編輯功能,但缺少代碼重構、調試、單元測試、源代碼控制集成以及其他適合於IDE的功能。
在任何情況下,Komodo Edit可以免費滿足你的JavaScript編輯需求,併為編輯HTML,CSS,Python,Perl,Ruby,Tcl和其它編程提供標記語言。
官網鏈接:https://www.activestate.com/komodo-ide/downloads/edit
下載地址:https://www.activestate.com/komodo-ide/downloads/edit
Notepad ++
Notepad ++是一個免費的開源Windows源代碼編輯器和記事本,非常適合於編輯JavaScript。它支持約50種編程和標記語言。除了其多個文檔編輯視窗之外,它還具有工作區樹視圖、功能列表選項卡和文檔映射選項卡。它的載入時間足夠快,性能足夠強,不會讓你感到速度慢。
使用語法著色和摺疊功能、可編輯功能(包括列模式編輯和正則表達式、支持搜索和替換)以及一定量的功能完成和參數提示功能,Notepad++可以輕鬆地成為JavaScript的首選代碼編輯器。然而,它還不是全面的JavaScript編輯器,它還不能生成代碼,執行諸如重構的操作,併在大型項目中快速導航。
官網鏈接:https://notepad-plus-plus.org/
下載地址:https://notepad-plus-plus.org/download/v7.3.3.html
BBEdit
BBEdit 11.0.3是一個文本編輯器,僅用於Mac的HTML,它支持約35種編程和標記語言,社區版還通過BBEdit網站提供了對許多其它語言的支持。許可版和社區版都有語法高亮;許可版還有一定量的自動完成功能,主要用於功能名稱、變數名稱、少量的關鍵字和標簽。許可版還能與Git,Perforce和Subversion版本控制系統集成。
BBEdit 11是該產品的重大改寫,這個版本比以前更加快速,並且還能夠很好地處理Ginormous文件。它具有將選擇或查找結果複製到新緩衝區中的提取功能,以及剪切功能。BBEdit可以編輯和運行Perl,Python,Ruby,和Shell腳本,以及檢查Perl和Python腳本的語法。
BBEdit對HTML和Markdown的支持實際上比其對JavaScript支持更好。你可以為BBEdit安裝三個命令行工具:一個用於編輯器,一個用於差異引擎,最後一個用於多媒體搜索。
官網鏈接:http://www.barebones.com/products/bbedit/
下載地址:https://s3.amazonaws.com/BBSW-download/BBEdit_11.6.6.dmg
TextMate
TextMate曾經主要用於在MacBook上編寫Ruby on Rails,但是現在TextMate變得不那麼突出了,與此同時Sublime Text逐漸收到了歡迎。
TextMate不是一個IDE,但是它卻提供了軟體包、代碼段、巨集和範圍系統等語言特定的IDE都缺少的功能。TextMate現在提供了簡單的JavaScript和jQuery的捆綁包,它們為快速生成JavaScript和jQuery代碼提供了一系列不錯的工具。要想具有類似於IDE的功能,你可以使用TextMate的shell集成版本,但不要期待TextMate可以進行代碼重構、自動單元或回歸測試。如果正確設置了Grunt,那麼TextMate就可以自動執行JavaScript測試。
TextMate有一個捆綁包首選項標簽,從中可以下載並安裝其他捆綁包。捆綁源,實際上是產品駐留在GitHub存儲庫中的源代碼。
官網鏈接:http://macromates.com/
下載地址:http://macromates.com/download
Emacs
Emacs及其衍生來自於自20世紀70年代初以來的MIT AI實驗室。Emacs從作為TECO文本編輯器的巨集開始,逐步發展獨立。預設安裝在MacOS上的Emacs是22.1.1版本,沒有GUI支持。你可以輕鬆地安裝XEmacs,Aquamacs(MacOS的GUI)和更新的GNU Emacs版本。Emacs作為JavaScript編輯器,編輯JavaScript的預設模式是在js包中,使用Emacs可以獲得更好的語法高亮和linting。
Emacs使用js2模式包,並使用ac-js2自動完成。在Emacs中,你可以使用串列模式獲取實時瀏覽器JavaScript,HTML和CSS交互。
官網鏈接:https://emacsformacosx.com/
下載地址:https://emacsformacosx.com/emacs-builds/Emacs-25.2-universal.dmg
Vim(and variants)
Vi(visual interface)最初由Bill Joy為Unix撰寫,自1976年開始,逐漸由Ed向Ex演變。Vim是一個免費的、開源的、改進版的Vi;預設安裝在Mac OS X上的是7.3版本。
你可以輕鬆安裝Vim的更新版本,MacVim(MacOS的GUI)或任何適用於你的平臺的功能。Vim作為JavaScript編輯器,它的vim-plug readme文件中的建議是相當好的。
官網鏈接:http://www.vim.org/
下載地址:http://www.vim.org/download.php
使用哪個編輯器,由你決定
無論你是專註於客戶端的JavaScript還是Node.js,都有多種選擇。
如果你正在尋找一個功能強大,速度很快的JavaScript編程文本編輯器,並支持很多其它語言,可以選擇Sublime Text。
如果你想要一個免費的,快速的JavaScript編輯器,相容IDE,並且對ASP.Net和C#支持得很好,Visual Studio Code是一個很好的選擇。
Brackets和Atom是兩個新的、免費的文本編輯器。Brackets是一款很接近於用於Node.js開發IDE的編輯器,Atom可以與GitHub桌面客戶高度集成。
在Windows上,Notepad++是快速、有效並且免費的。在MacOS上,BBEdit是快速、很酷的、免費的限量版本,可用於版本控制集成,是一個HTML工具。TextMate仍然是一個非常棒的編輯器,具有快速、全功能、可擴展的特點,但是開發速度已經很緩慢。
如果傾向於使用開源腳本語言,Komodo Edit是個不錯的選擇。如果喜歡自定義編輯器,Emacs或Vim可以滿足你的要求。