Visual Studio与JetBrains WebStorm一些对比

19-04-13 banq
              

这是来自迈克尔霍夫曼的为什么我从Visual Studio代码切换到JetBrains WebStorm?他认为:VS Code更像是一个编辑器,而WebStorm是一种IDE。两者比较有以下几个特点:

代码检查

WebStorm提供强大,快速,灵活的静态代码分析。能够分析检测语言本身和运行时错误,提供建议更正和改进。它还可以为整个项目编制索引,例如,可以检测所有未使用的方法、变量等。

趋势可以使用VS Code和ESLint以及no-unused-varsno-unreachable规则检测JavaScript方法中未使用的方法,但是如果使用TypeScript项目(如Angular),VS Code不会检测未使用的公共方法。

这可能会对主要是使用VS Code开发的大型Angular代码库的代码质量产生巨大影响。

Karma测试

WebStorm有一个我非常喜欢的集成测试运行器。这样,您可以直接找IDE中运行测试,甚至可以进行调试。在WebStorm中运行jasmineKarma测试,可以轻松跳转到失败的代码,并能重新运行这些特定测试。

在VS Code中的Angular单元测试工作流通常是标记一个describe或it测试块,它告诉Karma只运行这个特定的测试块。或者,可使用karma-jasmine-html-reporter,您也可以通过在HTML页面中单击它们来定义仅运行某些测试。

源代码控制/ Git集成

VS Code默认是一个非常基本的git集成。您可以使用GitLens之类的扩展,也可以使用其他工具,如Sourcetree,如果您想使用GUI进行复杂的git工作。(注:VS Code强项是与 Git集成,这是第一公民,其他IDE首先是IDE,然后才是源码集成。)

WebStorm提供了开箱即用的复杂git工作的所有功能。您可以直接在IDE中使用可视化差异/合并工具提交文件,查看更改并解决冲突。

本地历史

VS Code不会保存更改的本地历史记录,但您可以使用本地历史记录等扩展名。

WebStorm会自动跟踪您对文件所做的所有更改,从而保护您免于意外丢失这些更改。您可以检查文件和目录的历史记录并进行回滚。(注:有了第一面向Git的设计,Git历史才是真正本地历史,本地无需保留历史,否则引起混乱)

调试

VS Code只能使用Debugger For Chrome扩展程序调试Chrome上的Web应用程序,然后您需要为应用程序配置该扩展程序。

使用WebStorm,你已经拥有了所有可用的默认值,例如,对于Angular,只需要点击“Debug Application”,你就可以在编辑器中设置断点并观察变量等。

代码重构

在我看来,使用WebStorm重构代码要好得多。您可以重命名组件,它会更新HTML和TypeScript文件中的所有文件名和用法。通常,所有JetBrains IDE都以其重构功能而闻名。

JetBrain IDE的一个众所周知的功能是安全删除。使用此功能,您可以在重构期间安全地从源代码中删除文件。IDE将首先搜索文件的用法,如果找到它们,您可以在删除文件之前检查它们并进行必要的操作。

不幸的是,VS Code目前并不那么强大。

Angular CLI集成

WebStorm通过所谓的Angular Schematics提供了良好的Angular CLI集成,它可以提供编辑Angular模板,为变量,管道和模板引用变量提供代码完成。

性能

VS Code基于Electron,由HTML和JavaScript提供支持。

WebStorm是用Java开发的,它感觉通常比VS Code慢。我不会说它的速度非常慢,但速度差异很明显。

VS Code具有更快的启动时间,但如果您正在处理项目,则IDE或编辑器始终处于打开状态,启动时间不起作用。(注:Vs Code启动时间很快很重要,灵感不是整天泡在IDE中才有,而是放松闲暇时的突然状态)

HTML的辅助功能检查

WebStorm提供的检查基于Web内容可访问性指南(WCAG)中的建议,帮助您编写更易于访问的HTML代码。(注:现在chrome提供这些功能,Vscode是一个全语言编辑器,不是只针对Html)

价钱

VS Code是开源的,可以免费使用。

您需要支付WebStorm许可证,除非您选择开放源项目,学生,教师,课堂帮助或培训课程,编码学校和新兵训练营的免费许可证之一。

另一种选择是使用EAP(早期访问计划)。这些预发行版本包含将添加到下一版本的功能。在发布新版本的软件之前,这些版本暂时可用。

结论

​​​​​​​一般来说,由于以下原因,我更倾向于并建议使用WebStorm:

  • 更好的代码分析功能
  • 一体化IDE,具有良好的基本功能,无需安装许多额外的插件
  • 更好的代码重构可能性

如果您优先考虑速度,更喜欢使用开源软件,或者只是想快速编辑一些配置文件,那么您应该选择VS Code。

              

2