英文:martin heller 译文:葡萄城控件
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群343599877,我们一起学前端!
对于javascript程序员来说,目前有很多很棒的工具可供选择。本文将会讨论10个优秀的支持javascript,html5和css开发,并且可以使用markdown进行文档编写的文本编辑器。为什么使用编辑器而不是ide进行javascript编程?原因就是速度快。
编辑器和ide之间的本质区别在于:ide不但可以调试,并且可以对代码进行概要分析,ide还支持应用程序的生命周期管理(alm)系统。我们在这里讨论的许多编辑器至少支持一个版本控制系统,通常是git,现在ide和编辑器之间的区别也越来越小。
在这10个javascript编辑器中,sublime text和visual studio code是其中排名靠前的两个。sublime text以其速度和方便的编辑功能多样性出名,visual studio code的功能和速度与sublime text几乎一致。textmate排名第三,虽然textmate在两年前排名第一,但其功能并没有真正跟上发展。
你很可能在sublime text,visual studio code和brackets中找到自己喜欢的javascript编辑器,但是还有其它的编辑器工具atom,bbedit,komodo edit,notepad ++,emacs和vim等值得了解。你可以根据现在的项目,选择其中最为方便使用的编辑工具。
下面我们来了解所有的编辑器,文末会对它们进行对比。
sublime text如果你想要一个灵活、强大、可扩展的文本编辑器,它能够如闪电般快速运行,并且支持切换到其它窗口进行代码检查、调试和部署,那么可以考虑使用sublime text。
除了速度较快以外,sublime text还有许多值得注意的优势,它涵盖了70多种文件类型,其中包括javascript、html和css; 即时导航和即时项目切换; 多选项(一次进行一系列更改),包括列选择(一次选择文件的一个矩形区域); 多窗口(使用你的所有显示器窗口)和拆分窗口; 使用简单的json文件进行完整的自定义; 基于python的插件api; 一个统一的、可搜索的命令板。
对于使用其它编辑器的程序员来说,sublime text支持textmate包(不包括命令)和vi / vim仿真。
sublime text是一个高度可配置和可扩展的文本编辑器。它包含超过50种语法,其中包括javascript,它可以使用sublime软件包和textmate语法定义进行扩展。可以能够通过少量按键来安装babel(react)和typescript(angular)的语法和支持。
sublime text支持多个窗口、拆分窗口,每个项目可以有多个工作区、多个视图以及包含视图的多个窗格。当想要整合、调试和测试空间时,使用所有的屏幕空间会变得相当简单的。sublime text还支持所有内容的自定义:颜色,文本字体,全局键绑定,制表符停止,特定文件的键绑定和代码段,甚至语法突出显示规则等。sublime text的编码文件默认为json文件,语言定义默认是xml。
sublime text有一个活跃的用于创建和维护sublime text包和插件的社区。sublime text缺少的许多功能,包括jslint和jshint接口,jsformat,jsminify,prettyjson和git支持 ,都可以通过社区使用package installer来实现。
官网链接:
visual studio code
visual studio code是一个的免费的轻量级编辑器和ide,它是microsoft发布的。它具有visual studio组件,能与开源的atom electron shell混合使用。它对于使用c#进行asp.net core的开发,提供了极好的支持;同时它也通过typescript和javascript为node.js的开发,提供了极好的支持。不同于visual studio仅在windows上支持的惯例,visual studio code也能在macos和linux上运行。
由于包含了typescript编译器和salsa引擎,visual studio code具有非常好的javascript代码完成功能。visual studio code会将javascript代码发送到后台的typescript编译器来推断类型并构建符号表。你可以在屏幕图像底部的框中看到hasownproperty方法的信息。
相同的符号表使得intellisense能够在整个表达式的输入过程中,为你提供出色的弹出式选项列表。你可以获得以下功能:填入后自动关闭、自动填写完成选项、键入后的自动方法列表和方法中的自动参数列表。你可以通过从definitelytyped添加对d.ts文件的引用,来增强intellisense。当你识别常见问题(例如使用node.js内置变量中的__dirname)时,visual studio code将为你提供这些功能。
visual studio code是一个免费的轻量级编辑器和ide,用于node.js和asp.net 开发。它结合了microsoft技术,例如typescript编译器、roslyn .net编译器和atom使用的electron shell。visual studio code适用于windows,macos和linux平台。
visual studio code的git支持非常好,使用起来很简单。visual studio code调试器为node.js和asp.net开发提供了出色的调试体验。visual studio code具有非常好的html,css,less,sass和json工具,这个工具是基于与internet explorer f12开发人员工具相同的技术。此外,visual studio code可以与外部任务运行程序(如gulp和jake)进行可定制的集成。
visual studio code有着强大的插件生态系统,例如支持angular和react。推荐可以在使用javascript和typescript框架和库构建应用程序时使用visual studio code。
官网链接:
下载地址:
bracketsbrackets是一个免费的开源编辑器,最初来自于adobe,旨在为javascript,html和css提供更好的工具以及相关的开放式web技术。brackets本身是用javascript,html和css编写的。除了内置功能外,brackets还有一个扩展管理器,用于扩展前端开发人员使用的许多语言和工具。brackets不像sublime text和textmate那样运行的很快,但除了从网络加载或更新程序内容的暂停之外,它仍然运行的非常快。
brackets不仅对javascript,css,html和node.js有着很好的支持,它还具有一些其它很棒的功能,例如与html id相关的css在线编辑。此外,brackets有着一个简洁的ui界面和编辑时网页的实时预览。对于免费的代码编辑器来说,brackets是一个很好的选择。
brackets扩展也是用javascript编写的,还可以调用node.js模块。与大多数在选项卡中显示打开文件的编辑器不同的是,brackets具有显示在文件树上方的工作文件列表。
brackets的javascript自动完成功能非常好,自动填写各类括号的结束括号,以及jquery方法中键入$之后的关键字、变量和方法的自动下拉菜单。brackets可以控制node.js的调试器,并从菜单项中重新启动node。brackets可以很方便的添加附加功能的扩展(例如typescript和jsx支持,bower集成和git集成)。
快速编辑、快速保存文档、快速打开文件和实时预览均有助于简化web应用程序编辑,让你专注于编码或设计。brackets也有一些缺点,例如一些brackets扩展很难配置,不像emacs软件包或vim插件那样容易。
官网链接:http://brackets.io/
下载地址:
atomatom 1.15.0是一款github上的免费的开放源代码、可编程的编辑器,适用于windows,macos和linux平台,它与github应用程序集成在一起,拥有很多个可用的软件包和主题。
atom源代码位于github上,它是用coffeescript编写的,与node.js集成在一起。atom是chromium浏览器的一个特殊的存在,它被设计成一个文本编辑器而不是一个web浏览器; 每个atom窗口本质上都是一个本地呈现的网页。
当atom不自动更新时,性能是非常好的。它具有一些非常棒的功能,例如模糊搜索、快速项目搜索和替换、多个光标和选择、多个窗格、代码段、代码折叠以及导入textmate语法和主题的功能。atom可以安装两个命令行实用程序:atom,用于从shell启动编辑器;apm,用于管理atom的软件包。
komodo edit
komodo edit 是activestate的一个免费的,缩小功能版本的komodo ide,它是一个很酷的多语言编辑器。
如果你喜欢komodo ide但是却支付不起,那么komodo edit会是你的一个好选择。komodo edit不是一个ide,所以你需要在编辑器外完成代码控制。
它不提供实时代码收集功能,如果你独立开发,不与其他人合代码,就没有任何问题。它也不提供http检查器。komodo edit具有与komodo ide相同的编辑功能,但缺少代码重构、调试、单元测试、源代码控制集成以及其他适合于ide的功能。
在任何情况下,komodo edit可以免费满足你的javascript编辑需求,并为编辑html,css,python,perl,ruby,tcl和其它编程提供标记语言。
notepad ++
notepad ++是一个免费的开源windows源代码编辑器和记事本,非常适合于编辑javascript。它支持约50种编程和标记语言。除了其多个文档编辑窗口之外,它还具有工作区树视图、功能列表选项卡和文档映射选项卡。它的加载时间足够快,性能足够强,不会让你感到速度慢。
使用语法着色和折叠功能、可编辑功能(包括列模式编辑和正则表达式、支持搜索和替换)以及一定量的功能完成和参数提示功能,notepad++可以轻松地成为javascript的首选代码编辑器。然而,它还不是全面的javascript编辑器,它还不能生成代码,执行诸如重构的操作,并在大型项目中快速导航。
bbedit
bedit 11.0.3是一个文本编辑器,仅用于mac的html,它支持约35种编程和标记语言,社区版还通过bbedit网站提供了对许多其它语言的支持。许可版和社区版都有语法高亮;许可版还有一定量的自动完成功能,主要用于功能名称、变量名称、少量的关键字和标签。许可版还能与git,perforce和subversion版本控制系统集成。
bbedit 11是该产品的重大改写,这个版本比以前更加快速,并且还能够很好地处理ginormous文件。它具有将选择或查找结果复制到新缓冲区中的提取功能,以及剪切功能。bbedit可以编辑和运行perl,python,ruby,和shell脚本,以及检查perl和python脚本的语法。
bbedit对html和markdown的支持实际上比其对javascript支持更好。你可以为bbedit安装三个命令行工具:一个用于编辑器,一个用于差异引擎,最后一个用于多媒体搜索。
textmatetextmate曾经主要用于在macbook上编写ruby on rails,但是现在textmate变得不那么突出了,与此同时sublime text逐渐收到了欢迎。
textmate不是一个ide,但是它却提供了软件包、代码段、宏和范围系统等语言特定的ide都缺少的功能。textmate现在提供了简单的javascript和jquery的捆绑包,它们为快速生成javascript和jquery代码提供了一系列不错的工具。要想具有类似于ide的功能,你可以使用textmate的shell集成版本,但不要期待textmate可以进行代码重构、自动单元或回归测试。如果正确设置了grunt,那么textmate就可以自动执行javascript测试。
textmate有一个捆绑包首选项标签,从中可以下载并安装其他捆绑包。捆绑源,实际上是产品驻留在github存储库中的源代码。
emacsemacs及其衍生来自于自20世纪70年代初以来的mit ai实验室。emacs从作为teco文本编辑器的宏开始,逐步发展独立。默认安装在macos上的emacs是22.1.1版本,没有gui支持。你可以轻松地安装xemacs,aquamacs(macos的gui)和更新的gnu emacs版本。emacs作为javascript编辑器,编辑javascript的默认模式是在js包中,使用emacs可以获得更好的语法高亮和linting。
emacs使用js2模式包,并使用ac-js2自动完成。在emacs中,你可以使用串行模式获取实时浏览器javascript,html和css交互。
vim(and variants)vi(visual interface)最初由bill joy为unix撰写,自1976年开始,逐渐由ed向ex演变。vim是一个免费的、开源的、改进版的vi;默认安装在mac os x上的是7.3版本。
你可以轻松安装vim的更新版本,macvim(macos的gui)或任何适用于你的平台的功能。vim作为javascript编辑器,它的vim-plug readme文件中的建议是相当好的。
使用哪个编辑器,由你决定无论你是专注于客户端的javascript还是node.js,都有多种选择。
如果你正在寻找一个功能强大,速度很快的javascript编程文本编辑器,并支持很多其它语言,可以选择sublime text。
如果你想要一个免费的,快速的javascript编辑器,兼容ide,并且对asp.net和c#支持得很好,visual studio code是一个很好的选择。
brackets和atom是两个新的、免费的文本编辑器。brackets是一款很接近于用于node.js开发ide的编辑器,atom可以与github桌面客户高度集成。
在windows上,notepad++是快速、有效并且免费的。在macos上,bbedit是快速、很酷的、免费的限量版本,可用于版本控制集成,是一个html工具。textmate仍然是一个非常棒的编辑器,具有快速、全功能、可扩展的特点,但是开发速度已经很缓慢。
如果倾向于使用开源脚本语言,komodo edit是个不错的选择。如果喜欢自定义编辑器,emacs或vim可以满足你的要求。
以上就是总结几个好用的javascript编辑器的详细内容。