之前一直用visual studio寫C#,最近轉前端之後,當然還是選擇了微軟風格的vs code,相比於sublime、webstorm、還有國產的Hbuilder(捂臉),有啥過人之處呢,感覺區別都不是很大,國產的Hbuilder,bug一大堆 好在每周都在更新,一直在維護。。也挺不錯的,其他的比較呢,有啥區別或者說過人之處,求大神分析


比webstorm快,比sublime功能強大!

[原創] VSCode 高效開發必裝插件 - DevOpen.Club

  • #001 - 課程簡介
  • #002 - 如何讓你的文件類型一目了然
  • #003 - 如何更加高效地管理項目
  • #004 - 自動格式化你的代碼
  • #005 - 如何一鍵搭建各類語言的學習測試環境
  • #006 - 如何和 Chrome 聯動調試
  • #007 - 如何實時自動檢測你的代碼規範與代碼中的錯誤
  • #008 - 如何提升 React 等前端開發的效率
  • #009 - 如何集成並美化你的終端到 VSCode 中
  • #010 - Visual Studio 重度使用者如何遷移到 VSCode


謝邀。現在我用 webstorm~windows 上 vscode vim 插件太難用了~


VSCode就是為前端而生的編輯器。

Vim, Emacs是命令行編輯器,不比較。

WebStorm是IDE,和VSCode不是一個量級的,不好比較。

目前Atom,Sublime,VSCode是三個流行的編輯器,而且三者都是適合前端的編輯器,上手容易,功能強大。就拿三者做個比較吧。

先做一下一般的比較:

1. 擴展:VSCode叫Extensions,Atom和Sublime里叫Packages,大同小異。

Atom在這方面強一些,畢竟現在是第一大開源編輯器,擴展上Atom比其他編輯器都要豐富。

值得一提的是,Atom有APM(Atom Package Manager),很好很強大。

2. 基本功能:語法高亮,查找替換,分屏,多游標,自動完成,錯誤提示,命令行,括弧匹配……三者都是有的。

3. VCS(Git)集成:VSCode是自帶,Atom也有,Sublime可以裝擴展。

4. 速度:VSCode和Atom差不多,都慢於Sublime。(Sublime是真的快啊)

值得一提的是,Atom以前速度很慢,是個硬傷,後來1.17優化了一些,趕上VSCode了。Atom Blog - Improving Startup Time

5. 主題(Theme):三者都很豐富。不過Atom有很拉風的擴展(逃)。activate-power-mode

6. 跨平台:三者都是三跨。

7. 社區: GitHub上的Text editors,Atom和VSCode是伯仲。Atom畢竟是GitHub親兒子啊;VSCode不乏John Papa這樣的大人物支持;Sublime編輯器本身是閉源,擴展開源的。

那麼VSCode有哪些優點呢?我認為有以下:

8. 新:VSCode是三者中最新的,(括弧內為發行日期)Sublime(2008.11) -&> Atom(2014.2) -&> VSCode(2015.4)

前者對後者的影響很大,Sublime很早就把Package Manager做的非常好了,衍生出了一個良好的生態系統;Atom在這方面做的更好,還直接給自己做了一個開發框架Electron。VSCode很大程度上借鑒了前兩者的經驗,VSCode就是用Electron開發出來。

9. 開發語言: Sublime用Python,Atom用coffeescript,VSCode用TypeScript,TS現在更流行一些,至於為什麼,可以看看TypeScript - JavaScript that scales就知道TS的強大。

可以看看GitHub上的排名:Programming languages, TS把coffeescript甩出了一段。

因為有強大的TS,所以重頭戲來了:

10. Intellisense:熟悉VS的都知道這是一大殺器,遠不止自動完成(autocompletion),Sublime和Atom都可以通過語言支持和擴展實現,但VSCode在這方面做得最好,自帶JS和TS的Intellisense。

app. 忘了有什麼方法?Ctrl+Space,彈出提示;app.get() 忘了函數參數?Ctrl+Shift+Space,彈出提示。

而且不僅僅JS和TS有支持,其他語言都有,都可以裝擴展實現。

11. 代碼導航(Code Navigation):Code Navigation in Visual Studio Code

跳轉定義(Go to Definition) F12,速看定義(Peek Definition) Alt+F12,就和在IDE里一樣,這點Atom和Sublime都做不到。

重構(Refactoring):F2重命名變數,這點Atom和Sublime都做不到。

12. 調試:Debugging in Visual Studio Code,直接就在編輯器里實現了。

用習慣了Atom再接觸VSCode,眼前一亮啊,這麼強大?

於是用戶當然會想,為啥VSCode有其他兩者都沒有的功能呢。

VSCode源代碼中,有很多.d.ts文件,打開lib.d.ts看看。

interface String {
/** Returns a string representation of a string. */
toString(): string;

/**
* Returns the character at the specified index.
* @param pos The zero-based index of the desired character.
*/
charAt(pos: number): string;

/**
* Returns the Unicode value of the character at the specified location.
* @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned.
*/
charCodeAt(index: number): number;
}

是不是似曾相識?String的三個方法,都在這個介面當中定義了。這樣一來編輯器就可以知道String類型的各個方法了,函數的參數就在注釋里。

如果需要第三方Intellisense的話,加上一個.d.ts就搞定了。

就連CSS/SASS/LESS都自帶Intellisense支持啊,寫各種屬性方便太多了,連注釋都給你彈出來。

Visual Studio Code - Code Editing. Redefined 官方文檔很友好,不妨看看。


有什麼可捂臉的呢..sublime是個編輯器,VS CODE算半個IDE。hbuilder雖然是國產,但是用著真的很順手。

一直不明白為什麼那麼多人說打開速度快和慢來做對比,IDE和編輯器的打開速度當然不同。Hbuilder作為一款IDE,相比其他兩款編輯器,最大的特點是ctrl + r很方便,路徑查找很方便,也有一些必備的東西比如自定義代碼段,缺點就是確實插件很少,可定製的東西很少。

但是我用了一圈,作為我目前的工作狀態和需求,手裡好幾個項目,每天也都是從早上打開hbuilder,下班時候關上,無所謂打開速度,用起來還是很舒服很順手。


某些插件導致vscode崩潰。我遇到的就是eslint在關閉vscode居然還在進程裡面,用著用著vscode死了,什麼關聯提示都沒了,禁用eslint就好了。我是windows,喂windows袋鹽。


蘿蔔白菜各有所愛 能寫好code 讓我用啥都行


推薦閱讀:
相关文章