战斗的编辑器

有道是“瓦罐不离井上破,将军难免阵上亡”。程序员如果没参与过“哪个编辑器世界第一”的争论,编程人生就能不算完整。Hacker News上隔三差五的编辑器新闻下面,总会跟着大量党同伐异的评论。如果想在贴吧上骗经验值,只要发个帖“xxx编辑器世界第一,不服来战!”如果不被管理员封号的话,要不了多久就能升到顶级。但我们还是理性一点——无偏见看编辑器——那是不可能的,能做的,只有尽可能客观一点,展示一下各家的特点,至于选哪个:丰俭由人嘛!

评价编辑器看哪些参数

首推便利性

如果编辑器不能给开发活动提升效率,还不如不用,用Windows自带的Notepad记事本也可以编辑代码文件嘛!除了没有语法高亮、自动缩进、自动补全错误检查、git集成、快捷键自定义、快速跳转、代码搜索......好了,刚说这几个这几个功能属于“必有”之列,要是能人有我优就更好了。

比如自动补全功能,编辑器最起码,要实现根据当前打开的项目文件里存在的字符串作为候选,比如有个名为ORDER_NUMBER的C语言宏定义,只要按ord这仨字母,后面的就应该能自动出现在输入候选里。

更高级的依据语义的补全:输入到“order.”这个.的时候,编辑器会先去查查order是什么类,再去源代码解析一下order类有哪些属性和方法,全部显示在候选列表里。这个功能依赖编译器和编辑器的集成,Java语言有天然的优势。比如IntelliJ IDEA,被广大Java从业人员称为神器、挤掉Eclipse被Google选为Android Studio的基础不是因为长得好看,那是真能实现传说中的语义补全。

当然侧重某一编程语言的IDE,肯定比通用编辑器在便利性上有更多优势,这点需要看用户是否要面对复杂的技术栈了。

快快快!

编辑器的速度主观感受主要有两处:冷启动和命令响应。

冷启动速度很好理解,比如Mac上的上一代神器TextMate,Objective C开发的Native应用,“秒开”就是形容它的打开速度。与之对应的是新贵Atom,本质上是一个webkit内核浏览器,编辑区是由Javascript控制的一个web页面。第一个版本打开的时候我还以为死机了......

当然作为使用频率特别低的冷启动,在不怎么关机的开发过程中可以忽略不计。命令响应速度就很重要了,比如最基本的用鼠标滚轮翻阅代码,稍有卡顿就会给程序员带来“人脑胜于电脑”的快感,但其实这是很影响开发者心情的感受。还有代码搜索,这点sublimeText做得就非常优秀,对比Eclipse,简直就是数据库有索引对没索引的区别!

扩展性

对于编辑器开发者来说,花上80%的时间去实现20%用户的奇葩需求(比如在编辑器里播放mp3)实在得不偿失,把编辑器的内部api开放出来给热爱折腾的用户自行定制,就成了双赢的选择。

上古时代的Emacs就已经做得天上有地下无,除了elisp作为编程语言有点小众之外,基本就是一个操作系统的模型。sublimeText使用python,Atom用javascript,都是用户基础好的编程语言,各种扩展和插件也如火如荼。

对比之下,微软去年才推出了真正意义上的通用编辑器Visual Studio Code,之前的所有产品都不支持api绑定层的扩展,这次直接由Eric Gamma领导开发,使用Typescript编写,在关键的逻辑比如代码高亮上采用C++提供Native的支持,看来是想后来居上啊!

还是得自己选

作为一个选项极大丰富的当代程序员,太多选择有时也是一种烦恼。说起我自己的选择,引用《多情剑客无情剑》里最狂拽酷炫屌炸天的一句台词:

“我的右手比左手更快,这就是我的秘密!”
——荆无命

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,085评论 25 707
  • Mayank Sharma 测试了5款不仅仅是能处理文字的超强文本编辑器。 如果你使用Linux已经有很长一段时间...
    陌辞寒阅读 5,765评论 0 6
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,679评论 6 342
  • (二)过分了的可爱,瘦削了时间 12月29日,收到老萧寄来的信,信里只一句话:欠她一句话。 老萧来信,没有收到第一...
    肖邦不会弹约翰施特劳斯阅读 327评论 0 0
  • 我本是狼 一只保护羊群的狼 驱赶的是叫做同伴的狼 厮杀的是哀嚎的同伴 对于他们我不可原谅 羊群看我不似他狼 可在我...
    衿霂阅读 206评论 0 0