有时作为开发人员很纠结哪个编辑器更好用选择哪款软件来开发。作为程序开发10年的老程序猿,经历了前端开发和后端开的经验,在使用编辑工具了给大家介绍一下有哪些工具和使用感受,如何根据自己的情况选择合适的开发编辑器工具?
代码编辑器有哪些?
比较流行开发编辑器:Sublimetext,Atom,Brackets,HBuilder,vscode,WebStorm,PhpStorm,Dreamweaver(落后)。
首先看一下各种软件界面:
SublimetextAtomHbuilderPHPstormvsCode下面介绍这些编辑器软件的来历,有助于了解软件的历史和发展前景,使用的受众群体,更多的让我根据自己喜好选择:
SublimeText
SublimeText是一个代码编辑器(SublimeText2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。SublimeText是由程序员JonSkinner于年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。SublimeText的主要功能包括:拼写检查,书签,完整的PythonAPI,Goto功能,即时项目切换,多选择,多窗口等等。SublimeText是一个跨平台的编辑器,同时支持Windows、Linux、MacOSX等操作系统。
使用感受:体积超小,快速,稳定,插件多,全局搜索和索引速度超快,插件功能性好,可定制化一般(不能大幅度魔改界面,功能),可配置快捷键,构建参数,代码补全基于Snippet,格式化代码插件,FTP服务器修改实时文件同步等,但没有IDE那种全局带类型推导提示来的爽,在做比较前端开发,在后台开发代码提示和关联类方面比较弱,对Git插件支持使用不方便。
Atom
Atom是github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。通过丰富的插件机制可以完成各种语言开发,常用于web开发,也可用于php等后端开发。
使用感受:速度一般,更新快,Hackable,任何了解过Web,会一点JS的都可以自己写插件,任何Web能实现的功能,效果都可以实现,且可配合本地库。对Web开发者(尤其前端)友好,对很多语言代码提示完善,配合插件可以全项目类型联想代码补全,终端集成,分屏,调试器集成,Logger集成,非常简单可以打造一个自己的IDE,缺点就是基于Electron(Chrome)的效率问题,资源占用大。
Brackets
Adobe推出的免费开源文本编辑器Brackets。该编辑器支持Windows,Mac以及Linux操作系统,内置HTML、CSS、以及JavaScript编码,可以用于编写HTML,CSS以及JavaScript。该产品目标用户为网页设计师和开发人员,其中的LivePreview功能可以在浏览器预览和源代码之间轻松切换,可有效提高网页编辑速度。
使用感受:运行速度比,对于前端开发方面比较方面,能很好的即时编辑即时显示,更方便的快捷的修改css属性等。
HBuilder
HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。[1]HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。
使用感受:体积大,打开速度慢,插件少,唯一的好处结合DCloud本身的mui框架能很好的代码Snippet补全,同时支持app在线打包,偏向是做app混合开发。
WebStorm,PhpStorm
WebStorm,PhpStorm都邮是JetBrains公司开发的一款商业的集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。两者不同的是WebStorm不支持PHP偏向是前端开发,PhpStorm着重于后端php开发。
使用感受:体积大,功能大而全,需要一定时间上手才能熟悉。
总结及如何选择
sublime更轻量化,全球拥有最多的用户群体,被称为神级前端编辑器。
Atom目标是IDE替代品,可以配合插件打造成高效IDE,而且对Web平台开发者友好,对前端更友好。
VSCode目标是对超大文件和项目管理有要求,以及ASP.NET、C#、JS开发者友好,熟悉VS的上手快速,但社区支持和插件数量还不如前两者,可以看后续发展
如果你只是做前端htmlcssjs完全够用,sublime是最好的选择。如果你除了前端开发后希望能对项目进行维护托管到git,应该选择Atom。如果你是偏重php开发当然选择PhpStorm。
但如果作为全栈开发人员有时不是每个软件编辑器都能满足你的需求,我作为是一全栈开发人员基本几个软件都会装上,前后端之前选择性的用不同的软件,这样可以更高的工作效率。