程序員圈子內的編輯器之爭,已是由來已久,把它做爲一種文化現象來看,還蠻有意思的。程序員不少見面尬聊也頗有可能會聊到彼此用什麼語言,而後分別用什麼編輯器。簡單來講,這個話題是個打開話匣子的好工具,並且頗有可能能從對方使用的編輯器上邊分析出來對方的性格,階級,思想傾向什麼的……
可是,做爲一個初學編程的程序員,應該趁早遠離無畏的編輯器之爭。爭論誰是最好的編輯器毫無心義,畢竟編輯器只是一個工具,用它寫出來真正有用的代碼比用有用的編輯器寫出來垃圾代碼要好的多。前端
對於剛學編程的人來講,首先要開箱即用,並且默認配置就足夠的好用,同時又能提供足夠的擴展性。單就這點來講,其實最古老的兩款編輯器,Vim 和 Emacs 都不怎麼適合初學者。就這點而言,若是你是作web開發的話,其實我是極度推薦 JetBrains 的 WebStrom 和他家的其餘IDE的。缺點是有點小貴,目前官方售價是59美刀,包含一年的升級,以及終身的使用權利,並且若是你是學生,能夠經過校園郵箱來申請使用。react
其次,要有豐富的社區支持。豐富的社區支持意味着出了問題,並不須要親自動手來解決,你踩過的坑可能已經有一百我的踩過了,解決起來很方便。同時,這也意味着豐富的插件。這方面的來說,Vscode 作的是最好的,不光提供了豐富的社區支持,並且還有全職開發人員來進行軟件的開發。Atom 雖然比 Vscode 早出現,可是性能始終成爲瓶頸,目前各方面均已經被 Vscode 趕超。程序員
而後,速度要快。爲何咱們要使用文本編輯器,而不是直接使用 IDE 呢?其中一個緣由就是由於快,IDE 相比文本編輯器而言過重了,並且對於普通的代碼編輯而言,極可能有百分之九十的功能都是咱們平時用不到的。單從速度來說,Sublime 由於是界面是系統原生實現的方式,而不是像 Atom 和 Vscode 用 Electron 這樣的web的跨平臺技術實現,因此性能確定是三款編輯器裏最好的。可是,Vscode 作得優化足夠多,和 Sublime 的性能差距已經不是那麼大了。web
最後,跨平臺特性。能夠說主流一點的編輯器都已經至少支持了三大平臺(Windows, Linux, Mac)了,因此這一點不用太多考慮。編程
以上咱們說了那麼多,其實我最推薦的仍是 WebStrom 雖然它嚴格意義上來說不算是編輯器,並且須要付費使用,可是比起折騰編輯器所花費的世時間來看,其實仍是很值的。其次推薦 Vscode ,一方面是插件數量多,另外一方面就是由於他是微軟提供支持全職團隊來開發的一款編輯器,普通的開源項目很難有這個待遇。最後就是 Atom ,雖然目前來看 Atom 各方面都被 Vscode 趕超了,可是它極度的可定製性是 Vscode 比不上的,Vscode 爲了保證性能,並不會開放全部界面相關的 API 給開發者調用,能夠說和 Vscode 相比, Atom 更接近於現代版的 Emacs,提供了無限的可能性,隨便開發者怎麼折騰。至於 Sublime ,咱們感謝它帶來了編輯器體驗超級好的這個時代,可是畢竟他是收費軟件,因此除了情懷,沒什麼選擇它的理由。babel
而後說說 Vim / Emacs ,這兩款上古時期的編輯器,雖然他們都高度可定製化,可是因爲特殊的操做方式,致使學習門檻過於陡峭,不太推薦初學者學習。可是你若是想了解 Linux 文化,或者提升逼格(誤),其實也是能夠去嘗試一下。特別是 Emacs 提供的 Org-mode,相似於 Markdown 的文本語法使得他能夠用到任務管理,記帳,記日誌等方面,被人們稱爲文字編程。因此也特別值得去嘗試一下。編輯器
這幾款插件很是經常使用,幾乎是做爲前端開發必裝的一些插件。雖然這裏作推薦是基於 Atom 編輯器的,可是其餘編輯器應該也是很容易找到相同,或者同類型的插件。模塊化
一個提供豎排方向選取的插件,從sublime移植過來,配合多點編輯很好用。工具
高亮當前顯示行。性能
Tab 欄數量管理工具,保持 Tab 欄的清潔。
設置同步工具,換了新的機器,只須要安裝這一個插件,全部的插件和編輯器配置都回來了。
代碼美化插件,提供超多的代碼支持。
改變代碼大小寫的工具,Ctrl + c / v 型程序員的最佳搭配。
js代碼格式化工具,生成漂亮規範的js代碼。
顏色顯示,自動補全,選取工具。
右側欄代碼縮略圖。
文件管理器的圖標支持。
js的靜態文件分析系統,能夠實現自動補全,文檔提示,以及定義跳轉等功能,缺點是比較卡,並且配置起來仍是比較麻煩的。
路徑的自動補全工具,對於採用模塊化開發的項目頗有用。
React 的代碼段。
Jsx 的自動補全。
代碼檢查工具。
針對項目來統一編碼風格。
js文檔生成器。