之前一直用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 让我用啥都行


推荐阅读:
相关文章