在邮件列表发现又一个IDE的争论。
我说一下我作为一个实用主义者的做法。
我平常写,Java,PHP,Python,C,HTML,
如果让我在一个IDE上都写好了,那么这个IDE一定要无比强大,但是现实的问题就是可能非常占用内存。所以我使用emacs。
我用emacs,主要使用
1,语法高亮,因为可以让我方便的看到我写的 function 是不是写对了,不用仔细看,只看颜色就行了,我懒嘛。
2,自动补全,emacs的自动补全不是ide里面点 “.” 之后出来的方法列表,而是说你要写 function, 那么你打出 fun
你再使用快捷键补全就可以了。而emacs的特性又决定了,只要你打开的文件,他就可以作为不全的被选
3,多窗口编辑,我有时需要同时看不同的文件、相同文件的不同部分,没有多窗口,我会死
4,etags,我写程序有一个毛病,写Java时候做下的,就是只要时间不特别紧张,我就喜欢看一些类库的实现,并跟踪进去,这时候,没有etags,我会抓狂
5,在双手不离开大键盘区的情况下,完成几乎所有动作
但是我也会使用IDE,尤其再写Java的时候,因为我喜欢eclipse的,
1,import 自动补充,我懒嘛
2,重构,这个真的是非常强大,如果我用emacs,光改import的package就耽误我很多时间
还有,我(几乎)不用 IDE debug/step into
等等的功能,我调试代码都是考log的,我个人觉得这样快,而且可以复用(我还不知道怎么把断点放在svn里面,共享给其他的不用eclipse的人)。
所以总体上,如果是Java项目,我会用eclipse搭建原型,然后写道一定程度(就是不需要很多import的时候),补充ant脚本,完全切换回emacs。只有在需要大量的重构的时候,我再切换到 eclipse。
如果不是Java项目,几乎只用emacs,因为我不知道其他的语言的好用的IDE是什么,我懒啊。
而使用emacs,我会明白什么?
1,整体代码的框架结构。eclipse看到的结构是用看的,emacs会强制要求你记在脑子里面。这个强制会成为一种习惯。说实话,其实这是一个可有可无的,你用eclipse甚至file
explorer都可以,但是强制的,可以让我随着项目的前进随着就记住,我懒嘛。
2,记住API,很多使用IDE的兄弟姐妹们非常喜欢 “.” 或者 “->”
之后,IDE给你所有的方法列表。但是我不喜欢,尤其是我自己设计一些API要别人使用的时候。如果只能使用editor这样的土土的工具,你就会让自己做出来更好的,更容易记忆的API,就像说话一样自然,所以很多时候,什么API,就是很自然的就记住了,而且配合我说的自动补全,这样每写一个这样的方法,可以节省我几百和毫秒吧。
3,多语言的同时编辑,最常见的就是一边修改Server的代码(Java、Python、PHP等),一边修改前台的代码(HTML,JavaScript)等。emacs,一个就搞定了,不需要从不同的IDE切换。我知道Eclipse也支持多语言,但是他不能非常好的做到同时支持,至少需要切换一个语言的主题,这会浪费我几秒钟的时间,而且我需要动鼠标,这个不能忍,没办法,我懒嘛。
所以,我基本上90%的时间用emacs。但我不反对IDE,虽然我不怎么用。
而大家说的对程序的理解,运行机制的理解,我觉得这是一个程序员的基本能力。不管工具是什么,都应该明白。这样才能驾驭工具。
工欲善其事,必先利其Emacs。
其实我觉得emacs不好的地方就是代码补全和代码折叠,特别是在写html和python代码的时候。。。也没有人弄个好用的包什么的。
哈哈,从TL过来,发现你是用emacs的。emacs友人路过。
赞一个。我也一直在使用emacs,但对配置它很头疼,如果有问题的话请教您可以么。
当然好啦,一起进步嘛
牛波衣!拜一个!