Github发布了Atom,它与Sublime非常相似。甚至某些键盘快捷键(例如⌘ + P)⌘ + Shift + P都是相同的。
- Atom与Sublime有何不同?
- 它是否包括IDE功能,例如构建工具,功能定义跳转,文档等?
- 是否有任何使用Sublime的人收到Beta版邀请函以指出差异?
- 我可以按原样使用Sublime的主题,方案和包吗,就像Sublime可以处理text mate一样。
PS:在新选项卡中打开图像以获得更大的分辨率。
Github发布了Atom,它与Sublime非常相似。甚至某些键盘快捷键(例如⌘ + P)⌘ + Shift + P都是相同的。
PS:在新选项卡中打开图像以获得更大的分辨率。
Answers:
除了先前答案中的要点之外,还应从开发过程中做出选择的角度来阐明这两种产品之间的差异。
Sublime是针对该平台进行的二进制编译。它的核心是用C / C ++编写的,其许多功能是用Python实现的,Python也是扩展它的语言。Atom用Node.js / Coffeescript编写,并在webkit下运行,其中Coffeescript是扩展语言。尽管Sublime在UI和UX中相似,但是在“繁重的工作”中(例如处理大型文件,复杂的SnR或对文件/缓冲区进行大量处理的插件),其性能要明显优于Atom。尽管我期望随着Atom的成熟,它会有所改进,但设计和平台选择会限制性能。
Sublime的“关闭”部分包括API和UI。除了皮肤/主题和着色器之外,API当前使修改UI的其他方面变得困难。例如,Sublime插件不能与侧边栏交互,控制或在编辑区域上绘制(除非以某些有限的方式,例如在装订线中)或在基本文本之外操作状态栏。目前尚不了解Atom的“封闭”部分,但我觉得它更小。Atom具有更丰富的API(尽管目前文献不多),其设计目标是允许对其UI进行更好的控制。与Webkit紧密结合可提供许多功能,以增强UI功能,这是Sublime目前无法实现的。但是,Sublime的扩展性能更接近本机,因此在Sublime中可行的是在大型缓冲区中执行计算密集型,高度重复性或复杂文本操作的扩展。
由于将开放更多的Atom,因此 Github将于5月6日开源Atom。结果,发展的支持和步伐可能会很快。相比之下,Sublime的发展近来已显着放缓- 但还没有死。特别是,存在许多错误,许多错误很小,开发人员尚未修复。没有哪个软件能在imo上脱颖而出,但是如果您希望通过定期的错误修复和增强来快速开发某些产品,Sublime将会感到沮丧。也就是说,根据Github的统计,在发布之前和之后的几周内,适用于Windows和Linux的可安装Atom软件包尚未发布,并且代码库上的活动似乎已经冷却。
在IDE功能方面,从Webdev的角度来看,Atom将允许扩展到接近Webstorm之类的产品的地步,尽管还没有出现。由于编辑器本来就很呆滞,因此Atom在如此“繁重”的扩展上的表现还有待观察。由于API的限制和缺乏底层Webkit的限制,Sublime将不允许这种级别的UI自定义,尽管开发人员将来可能会扩展API以支持此类功能。同样,Sublime的基本性能允许涉及计算的咕unt声。ST3的符号索引就是一个很好的例子,即使在大型项目中也是如此。尽管Atom的UI肯定是基于Sublime的,但仍缺少一些改进,例如Sublime'
我认为这些产品是互补的。它们共享相似的视觉效果和击键的事实增加了事实。在某些情况下,使用两者中的任何一个都有优势。目前,Sublime是一种成熟的产品,在所有三个平台上均具有功能奇偶性,并且具有丰富的插件集。Atom是新手,其功能将迅速发展。感觉还没有做好生产准备,并且在性能方面存在一些顾虑。
[更新/编辑:2015年5月18日]
自撰写本文以来,关于这两个编辑器的改进的注释。
除了错误修复和对其核心的改进以外,Atom还经历了第三方扩展的快速增长,其中自动完成功能已成为标准Atom发行版的一部分。扩展质量变化很大,特别令人讨厌的是不稳定的第三方程序包可能使编辑器崩溃的频率。在过去的一年中,出于性能方面的考虑,Atom已通过将重排/重画活动转移到GPU来使用React,从而显着提高了UI对典型编辑动作(滚动,光标移动等)的响应能力。尽管这显着改善了编辑器的感觉,但对于如上所述的CPU密集型任务仍然感到麻烦,并且启动速度仍然很慢。除了性能提高之外,Atom整体感觉更加稳定。
自2015年1月起,Sublime的开发又重新开始,它包含错误修复,一些次要新功能(工具提示API,构建系统改进)以及以基于yaml的新的.sublime-syntax定义(最终取代旧版本)的形式进行的重大开发xml .tmLanguage)。新系统与替代Onigurama的自定义正则表达式引擎一起,为精确的正则表达式匹配提供了更大的潜力,速度更快(最高4倍),并且可以并行执行多个匹配。除了着色语法外,Sublime还将这些组件用于符号索引(goto定义等)和其他语言感知功能。除了进一步加快Sublime(尤其是大文件)的速度外,此功能还应为诸如代码重构等高性能语言特定功能开辟潜力。有望实现“更大的发展”,
Atom是使用Node.js,CoffeeScript和LESS编写的。然后将其包装在WebKit包装中,该包装最初仅可用于OSX,尽管现在也有Windows版本。(Linux版本必须从源代码构建,但是针对Ubuntu用户有一个PPA。)
Sublime Text复制了许多体系结构和功能,因为它们已经过尝试和测试。插件系统的工作原理几乎相同,但是通过公开新的API也带来了许多新功能和潜力。
我相信,由于肌肉记忆力的原因,快捷方式几乎保持不变–人们会记住它们,并能够通过Atom立即单击。
可以通过GUI而不是直接编辑JSON来控制首选项,这可以降低入门人员开始使用Atom的障碍。我个人很难浏览所有内容,因为“偏好设置”中没有搜索功能。
您可以在## atom-invites IRC频道上注册邀请,或注册到其网站并添加您的电子邮件。第一轮邀请很快到来。
这是两者之间的一些区别:
*尽管APM是一个单独的工具,但它是与Atom捆绑并自动安装的
我今天才收到Beta版邀请,并立即尝试了Atom。GUI就像Sublime,是的,Sublime采用了一些快捷方式。
除了上面提到的所有内容之外,到目前为止我还注意到了一些区别:
Vim模式不如Sublime上的Vintage模式(后者也不是功能齐全的vim),因为vim软件包处于开发的早期阶段。有关详细信息,请参见https://atom.io/packages/vim-mode。
如James所述,Atom是使用Web工具编写的,因此您可以访问文本编辑器的样式表(styles.less),以使用CSS进行外观更改。还有一个选项可以更改启动CoffeeScript。
同样,由于Atom仍处于测试阶段,因此Sublime具有更多的本机插件包。但是,由于Atom是用Node.js编写的,因此Atom官方网站表示您可以“从Node的软件包存储库中的5万多个中进行选择”。(因为我不是Node.js专业人士,所以我没有研究此功能)
Atom开箱即用,具有更好的Github支持,但是Sublime有几个Git软件包。
Sublime是付费应用程序的无限评估期。Atom在Beta阶段是免费的,但我们不知道Github是否要收费。
因此,最重要的是Atom是处于测试阶段使用Web技术构建的文本编辑器。相比之下,Sublime经历了许多不同的迭代。Atom仍然缺少许多Sublime支持的软件包,所以问题是Atom会赶上Sublime还是变得更好?Github似乎对这种文本编辑的未来充满信心,因为它具有流行的底层技术,从长远来看,Atom可能会成为Sublime的一个很好的选择。
另一个区别是Sublime文本是一个封闭的源项目,而Atom源代码是/将是公开可用的-尽管Github不打算将其作为真正的开源项目发布。他们希望提供对代码的访问权,而不必向贡献者开放。
Github公开了该代码:http://blog.atom.io/2014/05/06/atom-is-now-open-source.html
Atom仍处于测试版(我在撰写本文时为v0.123),但它发展很快。比Sublime更快。新版本每周发布一次,有时在同一周甚至很少发布。在其短暂的生命周期内,它的发布数量超过了Sublime,而Sublime则需要数月才能发布新功能或错误修复。这是对更新的回顾,回顾了自测试版推出以来Atom所走的道路:
Sublime比Atom具有更好的性能。仅仅是因为它是用C ++编写的。另一方面,Atom是基于Chromium构建的基于Web的桌面应用程序,尽管它们将性能贴近现实,但要达到相同的速度和响应性确实非常困难,甚至不可能。去年7月,Atom开始使用React,它极大地提高了性能,但您仍然可以感受到与众不同。除此之外,如果Atom的性能问题不会将用户赶走-Sublime更好地加快了发布周期,请对其小型UX调整进行梳理,并考虑让更多的贡献者加入,因为这是Atom的制胜法宝。
Atom的软件包生态系统也正在快速增长,目前可能不像Sublime那样大,但是我感觉到有了GitHub,它会继续保持更快的增长。它可能具有您可以想到的大多数类似IDE的插件。现在的主要区别是它不能处理大于2MB的文件,因此需要牢记。
您首先注意到的一件事是Sublime微型地图不见了!除此之外,第一印象是Atom看起来与Sublime几乎相同。我在此博客文章中对此进行了更深入的比较。
据我所知,没有简单易行的方式来移植您的Sublime配置,软件包等。
我尝试了Atom,但看起来非常不错,但是存在一个主要问题(至少在v 0.84中):
它不支持垂直选择Alt+拖动-这是每个现代代码编辑器都必须的。
一个主要区别是对“印度字体”(又名南亚文字)(包括东南亚语言,如高棉语,老挝语,缅甸语和泰语)的支持。此外,对东亚语言(中文,日语,韩语)的支持也要好得多。这些是已经存在多年的已知错误(实际上是评分最高的错误)(认为东亚语言支持曾经可以更好地工作,但现在变得难以使用):
我在一点极端的环境中工作;通过ssh(aka.sshfs)编辑安装在我的笔记本电脑上的远程文件系统(肯定是外部网络)上的文件。不管我为什么要这样做,尽管响应速度很麻烦,但是当我使用Sublime Text 2时,它还是可以食用的。
阅读这篇文章后,我尝试使用Atom,但结果令我有些痛苦。Atom似乎不能高效地缓存目录结构。每次我在Tree View上展开文件夹时,UI都会冻结2到3秒钟,这可能会获取文件系统信息。是的,这是因为我正在使用远程文件系统。但是Sublime可以更有效地处理该问题,至少每次我扩展一个文件夹时它都不会冻结,因此痛苦不那么大。
我认为Atom是免费的地狱,我的故事很琐碎,有一天可能会得到改进,但这对现在的某个人会有所帮助。
-
添加于8/26/2014
最近,我将笔记本电脑从Macbook Air 2010推迟到Macbook Pro 13“ 2013推迟。它的CPU速度可能提高了4倍,并且性能得到了很大提高。我想提一下我的看法是关于远程安装文件系统的。 (使用OS X Mavericks,最新版本的Atom,FUSE 2.7.3 / OSXFUSE 2.6.4 / sshfs 2.5.0,而远程系统是Ubuntu服务器)最终,UI冻结变得更短了,但仍然存在。要打开一个包含许多文件夹/文件的文件夹并对其进行索引需要一定的时间,而且,如果您将一个充满文件的文件夹展开,它只会变得缓慢(折叠该文件夹时,它不会)
根据@EliDuenisch,这似乎在Linux Mint上没有发生。我不确定,但这可能是由于操作系统之间的差异。当然,如果您在本地文件系统上工作,则完全不必关心此问题。
到目前为止,没有人指出过,对某些人来说可能很重要的一个主要区别是(至少在Windows上)Atom不完全支持美国以外的其他键盘布局。有一个关于此的错误报告,其中有数百篇文章已经开放了一年多了(https://github.com/atom/atom-keymap/issues/35)。
选择编辑器时可能相关。