第27章 新项目茉莉工具一號(1/2)
又过了几天,deepflow 的反向传播终於跑稳了。
但陈一然发现一个问题,他忍不了了。
那就是他打字的时候,textmate 会卡。
不是每次都卡,但越来越频繁。本来照著茉莉的知识,双手打得飞快,突然光標就莫名其妙的停住了,等个一两秒才把字蹦出来。他手已经敲下去了,有的时候直接吞子打乱了。
陈一然有种,玩劲舞团,空格敲的正爽,突然音乐停了的感觉。
一开始他以为是文件太大。deepflow 的代码已经写了快一千多行了,但是感觉也不至於吧,正常写个 word 什么的,比这个字数多多了啊。
又以为是內存不够,可 macbook pro 17 寸顶配,8g 內存,在 2010 年应该不算差了。
“茉莉,是不是,我们硬体不太行了啊。”
【打开 activity monitor 看看各种沿用情况。】
陈一然听话的打开了 activity monitor 看了一眼, textmate 占了不到两百兆,cpu 偶尔飆到百分之十几,大部分时候都很安静。
【看来是软体问题吧,我们换个软体试试?】
苹果自带的 vim 和 nano 更难用,否则陈一然也不会买了 textmate 来用,正正 50 刀呢。
陈一然打开谷歌,搜了一下 mac 上的代码编辑器。2010 年的选择並不算多,之前搜过 textmate 是最主流的,但不是唯一的。
他先试了试 sublime text,这个编辑器 2008 年出的,速度確实快,打开文件几乎秒开,不会像 textmate 那样卡。但功能太少了,连代码片段都没有,更別说自动补全。
写 python 的时候连缩进都要自己管,和 textmate 比起来就像从轿车换成了摩托车。快是快了,但是对人肉打字机陈一然非常的不友好。
又试了 bbedit,这是 mac 上的老牌编辑器,1992 年就有了,功能比 textmate 还多。但界面丑得离谱,看起来像上世纪的软体,而且它强项是 html 和文本处理,写 python 的体验很差,语法高亮支持的语言倒不少,但代码补全基本没有。
试了一圈,没一个让他满意的。要么快但功能少,要么功能多但慢又丑。最后还是回到了 textmate。倒是很多论坛都在说 textmate2.0 的事情,但是据说作者好久没都没出现了。大家都猜,2.0 应该难產甚至流產了。
只能先用回 textmate,可刚打开没多久又卡了。
“茉莉,想点办法啊茉莉,有没有什么简单的方法优化一下呢。”
【textmate 1.x 的文本渲染引擎在处理大文件时效率不高,隨著碎片增多也会造成混乱,这个没办法解决。】
想到了之前茉莉编写的翻页小脚本,陈一然觉得,可以试试搞个新项目。
textmate 卡,sublime 功能少,bbedit 丑,vim 不会用。
它们功能也很一般,陈一然打错字的时候,没有一个编辑器会提醒他。別的程式设计师可不像他有茉莉在后台提醒,可能打错之后,就错到最后了又要回头费劲的找那里拼错了。
在陈一然浅薄的知识里,觉得这功能应该不难啊,后世隨便说很么打字软体纠错能力总是有的吧。
还有括號配对这种低级错误,他每天至少犯两三次。茉莉一天不知道多少次提示他少打一个右括號,普通程式设计师天天这么操心,掉头髮简直理所当然。
“茉莉,你说写文章都能自动纠错,word 里打错一个字底下就画红线。编程怎么就没有这种东西?”
【编程的纠错比自然语言复杂得多,需要理解代码的语义。事实上之前 bbedit 的介绍里是支持標错的,你使用时没有触发,而且他应该是基於正则表达式和当前文件缓存。 所以,意义並不大。
如果要更好的实现这个功能,需要加入一个抽象语法树,让它能读取整个项目的结构。textmate 目前不支持插件,但是,我们可以自己做一个编辑器?】
“对的,这就是我的意思,我们可以搞的吧。”
【理论上可以,但这不是一个小工程。】
“需要进行一定的推理运算之类的吗?”
本章未完,点击下一页继续阅读。