2018年值得关注的五种JavaScript IDE
如今,由于具有一定的代码调试能力、并能提供对各种应用生命周期管理(ALM)系统的支持,IDE已经成为了各种普通编辑器的首选。不过在网络中,随着各个平台上出现的IDE越来越多,我们很难寻觅到真正需要的、理想的IDE工具。
本文在对业界最流行的五种工具进行介绍的同时,将对这些JavaScript IDE进行简要的比较。
1.WebStorm
要比人气,WebStorm绝对是首屈一指。它是由JetBrains公司(译者注:一家捷克的软件开发公司)提供的、用于JavaScript开发的、且被公认为最强大的IDE之一。当然,尽管它对提高效率和生产力大有帮助,但是它的费用也相当昂贵。
它所提供的功能包括:代码的完成度、易识别的错误、可重构的过剩语言代码检查,以及针对客户端代码的内置调试器。这意味着开发人员甚至可以在不退出IDE的状态下,检查、执行并评估他们的程序代码。
另外,我们可以在WebStorm内进行程序测试,而该工具也能提供一份清楚易读的报告,让用户充分了解有关调试与测试的各种信息。同时,它的spy-js功能可以通过跟踪代码,来防止代码间产生相互作用和并发影响。
Visual Studio Code在业界已经存在了很长一段时间了,而且一直广受开发者的欢迎。虽然有太多的开发人员愿意讨论如何在Visual Studio Code中使用Golang,但实际上它也能够兼容其他40种语言。可见,该平台非常适合于前端的开发。
Visual Studio Code所提供的功能包括:智能感知(IntelliSense)、内置式git集成、和在编辑器内实现代码调试的能力。同时,该工具还带有大量的可扩展式定制选项。由于它能够支持多种不同的语言,因此它常年位列最受欢迎的开发工具榜首。
3.Atom IDE
可以毫不夸张地说,没有Atom的五大IDE列表是不完整的。通过使用Electron和TypeScript的语言包,您可以实现JavaScript、CSS和Node.js之间的兼容。除了能用它来查询各种引用关系、和检查各种定义的大纲视图之外,开发人员还可以基于其上下文感知的自动完成工具,来使得自己的程序编码更加快捷。
另外,Atom的悬停工具能够用来显示各种相关的代码信息。同时,它配备了一整套诊断工具,可以帮助开发人员快速地了解、并识别出那些并非自己编写的代码(一般由系统自动产生的)。
4.Brackets
这款开源编辑器是由Adobe公司所提供,它是用JavaScript、HTML和CSS编写而成。Brackets能够给您带来原生代码的编辑体验,但是它缺乏对于并发影响的兼容。它的实时预览(Live Preview)功能,能够让您的浏览器与之同步。而它的快速编辑用户界面(Quick Edit User Interface),能够提供您所需要的全部工具。由于与您所使用的代码语言无关,因此它的效果特别好。
Komodo Edit是您使用JavaScript的另一个不错的选择。它是Komodo IDE(仅提供简单接口)的高级版本。它通常被开发人员当作处理某个系列问题的一种直观工具。Komodo Edit支持Node.js的每一种功能,包括:调试、单元测试、与各个构建系统的集成、甚至是协作。
您还可以用它来跟踪各种变更、检查不同的标签、代码折叠(code folding)、代码块、以及进行多选等操作。同时它还提供智能的语言检测功能。
下面针对某些常用的功能,我们来看看哪一款IDE会更有优势。
IDE的优、缺点比较
版本控制
Komodo Edit的一个最突出优点便是版本控制。该功能被内置于它的IDE中,因此它允许开发人员灵活地在他们的代码中对git进行推送和拉取。
自动完成和代码检查
当您将Visual Studio Code的功能与WebStorm进行比较时,您会很容易地发现WebStorm拥有着更为强大的功能。Visual Studio不会向您指出某个方法名称上可能存在的拼写错误。另外,对于一些没有使用到的方法,它也不会向您发出警告。
可扩展性
Atom采用的是模块化的设计,这就意味着该编辑器几乎所有的部件都可被修改。甚至是它的一些系统核心包,如:搜索和替换功能,都可以在其编辑器中被调整或取代。同时,它也为新建的插件提供了相应的文档,这对于从事二次开发的人员来说是再好不过了。
支持代码重构
我们在实践中,保持代码的简单、整洁是非常必要的,而这正是WebStorm的竞争优势。它直接通过执行提取变量、移动文件、和内联变量提取,来自动进行代码重构。
哪种更适合初学者?
Atom是一种既适合于有经验的程序员,又能够让那些刚走上编程道路的初学者容易上手的文本编辑器。它提供了诸如:添加各种快捷键、更改主题、安装插件、修改核心设置等选项,您既可以通过GUI,也能使用手动方式来实现。可见,Atom更适合于那些初学者。