原文地址:http://code.tutsplus.com/tutorials/check-out-atom-githubs-new-development-editor--net-37030javascript
最近彷佛没有什么新的编辑器出现让人耳目一新的。
最近一次在web开发社区掀起热潮的应该就是Sublime Text,
以及它方便的包管理工具Package Control了。html
嗯,不过Github彷佛是想要经过Atom来改变下编辑器软件的平静的现状。
目前笔者用的是Beta版Atom,本文也只会给出对Atom作大概的一个介绍。
还有要注意的就是,目前Atom的文档也还不完善,
有些feature最后会是怎么还不能肯定,因此本文也只是讲一些重要的功能java
首先笔者要强调的是目前Atom只是一个beta版本,
之后到底会有多少功能保留或者加入谁都说不许。
好比我如今还没找到一个基于目录建立项目的方法,并且也很想要这个功能。
可是目前做为beta版本的ATOM仍是让我很满意的。node
接下来要说的是,ATOM是彻底基于web技术实现的。底层的架构是基于Chromium
(是的就是google的Chrome的Chromium),全部的窗口都是一个本地渲染的网页。
有人会问,为何不直接像Cloud9IDE作一个基于浏览器的编辑器呢?
虽然目前来看浏览器文件操做相关的API有了必定的发展,可是仍然有不少的限制。
因此采用桌面应用程序的方式仍是有必要的。git
是的,你没看错,在Atom中调用Chromium开发工具,
我还选中了一个DOM元素,更诡异的事是,
还能在Chromium开发工具里面修改代码。这也印证了ATOM是基于Web的。程序员
ATOM还采用了node.js来访问文件系统和包管理。
这样就让Atom的包管理具备很强的灵活性和可扩展性。
面对浩如烟好的npm资源,ATOM的可配置型也变得异常突出。github
最后这句话可能最能说明Atom团队为何要采用Web技术。web
整个计算机产业都在给力的推进web技术发展,
因此咱们颇有信心将Atom植根于这片的肥沃的土壤中。
原生UI技术起起落落,而web技术在每一年的变化中变得愈来愈可靠和广泛。
咱们很高兴咱们能在web技术领域继续深刻。npm
初见Atom,估计确定会以为它是sublime text的堂兄弟,
Sublime中外貌协会的同窗估计会对他一见钟情。segmentfault
固然,程序员第一要关心仍是是支持的语言。笔者虽然目前主要工做在javascript上,
可是也很想尝试下ruby on rails,因此能支持的语言越多好。
Atom不只支持Ruby的语法高亮,还支持RoR,还有:
等等
Atom不只仅支持语法高亮,还有对应语法的Snippet。
以上面的Javascript举个例子,
在编辑器里面输入ife
而后再按tab
键,ife
就能扩展为
if (true) { } else { }
输入f
而后tab
,就会展开成一个匿名函数的定义
function () { }
相似的功能TextExpander和其余一些编辑器也有,
很高兴Github加入了这个功能。
Sublime text(包括V3)都很让我抓狂的一件事情就是须要手动调整不少配置
(译者:并且是一个配置文件形式配置很是不直观)。
在Atom里面就,将全部的配置信息放在一个面板里面,主要的配置项
还在能配置页中激活或者禁用一个包。
个性化编辑器是每一个码农都要干的事情,
给每日相对的编辑器选一个本身喜欢的主题就很是的重要。
Atom自带5个主题,亮暗都有;并且经过包管理你扩展你选择。
看到"Monokai",是否是很开心啊!
还记不记得我刚才提过能在Atom里面使用chromium的开发者工具,
Atom的每一个页面都是一个本地渲染的网页。
嘿嘿,那就行了,你有超多的方法来改变页面中外观,
在开发者工具里面能查看页面中的DOM元素的样式。
经过修改styles.less
来定义本身的样式,这样你就控制每类元素的展示方式。
要修改styles.lee
也很是简单,Atom->Open Your Stylesheet,而后编辑就好了。
.editor { .meta.tag.sgml.doctype.html { font-size: 26px; } }
这个例子里面,笔者将.editor类下的DOCTYPE
的字体设置为26px
,
那实际页面看起来是这样的。
经过修改样式文件就能更加随意的修改编辑器的样子了。
Atom中的包管理工具除了可以安装主题以外,还能安装插件来扩展Atom。
这个和sublime中的 package control很像,可是Atom是直接自带了一个包管理工具,
不须要像Sublime Text同样用个脚原本安装。
点击安装按钮,Atom就提供了一些'精选'的插件,
经过输入框还能到包管理中心搜索你想要的包。
apm install <package name>
若是你喜欢命令行,那就试试apm(Atom Package Manager)。
下面是安装autocomplete的例子
目前的话,Atom中的扩展包数量还很是有限
但一些必要的包仍是能找到的,好比
我想Github很快就让不少Sublime text包的做者将本身开发的包移植到Atom中。
并且如今已经有文档
说能将TextMate的bundle移植到Atom中。而Textmate的bundle和Sublime是兼容的,
因此估计sublime的包也能很方便的一直到Atom中。
不过别太当真,由于笔者还没测试过呢。
不过如今也给社区作贡献的好时机,
为社区提供一些新的插件。
目前Atom已经有了大部分基础功能的包,目前还缺乏一些重磅的功能,
好比Linter和语法高亮。
不过我相信这些空缺立刻就会被填补的。
Atom的快捷键配置文件是在~/.atom/keymap.cson
,
你也能够经过菜单找到Atom > Open Your Keymap,
这个配置文件还有些例子来指导你如何设置快捷键。
惟一一个你须要记住的快捷键就是Command-Shift-P,
这个快捷键会弹出窗口里面包含着全部可用的快捷键,还能模糊搜索。
Atom官网的入门指导
提供了不少有用的信息,很是值得一读。
因为目前Atom项目文档仍是不多,对Atom的了解你仍是要经过反复采坑来学到。
不少人确定会问Atom和Sublime比到底如何?
说实话Sublime目前仍是我最爱编辑器,Atom也是款很不错的Beta测试产品。
可是目前仍是不肯意切换。Sublime的内建的功能加上目前繁荣的扩展生态,
对我来讲是一个很成熟的编辑器。
可是话说回来,Atom有Github这个黄金招牌在绝对是颇有份量的。
铁打的Geek气息,尤为基于Chromium和Node.js所带来的扩展性,
Atom的插件包确定会有长足的发展的。
目前,Github将Beta版的Atom免费提供给码农们捣鼓。
若是之后Atom采用合理的价格策略,而且插件的生态圈能快速的发展起来的话,
我最终仍是会选择Atom的。
若是您以为本文对您有帮助,欢迎请译者一杯咖啡
https://me.alipay.com/shupengfei