在社区里随便看几个编辑器口水贴 http://ruby-china.org/wiki/tools 尤其是这句话 Ruby 不需要 IDE,一个简单的文本编辑器就足够了,作为 Ruby 开发者,这个必须习惯。 。 但很多人喜欢在 Vim 上堆插件,越搞越像 IDE,然后在网上贴个图,感觉很牛 X。直接上 IDE 不就完事了?
我也偶尔使用 VIM,但这几个功能不知怎么实现(还是没必要实现)请大牛指点: 1、代码自动完成。 可避免很多 Typo,vim 有插件,但是貌似很多人不用。还是大家都是记忆超人。 2、查看源码。 随便单击一个类能跳到源码,我用的 RubyMine 这个功能相当爽,基本不用看 RDoc。 3、Debug。 类似 Eclipse 那样的调试肯定很多人用过吧。Vim 的 debug 看起来很不顺眼。 4、速度。 都说 IDE 很慢,这个真的很重要吗。如果追求速度就不要用 Ruby 选汇编吧。
当然,我不排除 IDE,但是真心觉得 Ruby 不需要 IDE
1.那自动完成开着还真不如不开。。。搞得很卡,textmate bundle 明显在代码补全上更好一些 2.用 railsdoc.com 哈哈
@ywencn 不好意思,没表达清楚。第 4 点我的意思是:如果 IDE 慢是由于硬件,那不算缺点,只要 IDE 能提高开发效率就行。 你的http://railsdoc.com/ 打开全日语,晕呀@@
IDE 的自动完成是能够很大地提高工作效率,举 2 个我经常用到的例子
ActiveRecord 的 belongs_to,我只用输入 bt(hm 就对应 has_many),然后按一下 tab,netbeans 就会帮我补好,后续的参数也会很提示出来,对于这种常用的方法,输入就很快了。而下方还有 rdoc 集成了,对于不常用的 api 调用也很有帮助:
ActiveRecord 的数据库 table column 提示,netbeans 会扫描 schema.db 文件,这样你在输入 model 属性的时候就非常方便,只要根据提示输入首字母就可以了:
特别是在写 erb 文件,夹着着 ruby 代码和 html 的时候,netbeans 能够同时提供 2 者的 auto complete,非常方便。
喜欢 IDE 的朋友建议看看 RubyMine... 非常好用.... 自动补全也做得很好,好得你难以想象... Netbeans 自从被 oracle 收购以后就各种恶心 ruby...
但是本人是用 editor。 我喜欢 type... 同一个东西 type 很多次就记住了... 自动补全我或许一辈子都记不住...(事实证明如此,以前 java 的东西我都只能记个大概)
debugger 命令行已经很不错... 或者用 http://pry.github.com/ 也可以做调试... 功能更加强大...
抛开速度,习惯以及信仰.... 其实 IDE 我认为真正有用的是 refactor 功能... 这个在一些情况下还是有用的。 避免很多重复劳动和遗漏...
#7 楼 @quakewang TextMate, Subline Text ... 这类类 TextMate 编辑器都有 bt -> belongs_to 和 hm -> has_many 这样的功能,重点是,不卡!!! 能够完整记住所有表的每个 column 的单词写法是一个非常好的习惯,以后会有很多方便的地方 所以,别用 IDE
我还没 debug 过,都是自动测试加 p。
喜欢用什么就用什么吧,只要代码规范,简洁,易读。我用 vim,同事有 Netbeans 的,emacs 的(曾经),最近有人在折腾 rubymine,其乐融融。
对于我,vim 有份安心的感觉,我开始学 rails 的时候还是穷学生,电脑烂,IDE 要不不好用要不收费要不太占资源。而恰好 rails 是个提倡编辑器环境的框架,如果有什么地方是没有 IDE 就不方便的,rails 框架就不会提倡,比如 debug。所以我就一直用下来了。
用什么都好,一定要把自己的工具用到滚瓜烂熟。
vim+1,花点心思去配置,自动谱全、commend-T、Nerd-commenter、Nerd-Tree、Zencoding、Syntax、ack 啥的玩熟了写代码各种爽。。不过看了楼上倒是想去尝试一下 RubyMine 了
@huacnlee ubuntu 下面 Sublime Text 2 中文怎么显示?我已经是 utf-8 的文件了,中文还是口口 另外也无法切换输入法输入中文。
@poshboytl 可以用 sdoc 和 RedCloth 生成的,可以参考下:http://blog.vkill.net/read.php/216.htm
#12 楼 @poshboytl railsapi 自己生成啊。常用的库也可以弄个专门的 gemset,然后需要查看就在这个 gemset 里起个 yard server
速度真的很重要
用过 rubymine,写着正在兴头,不知道为就卡住了,然后关了重开...你能体会这是什么感受吗?
RUBY 的语法过于动态灵活了,IDE 进行语法分析肯定很耗资源的。代码自动完成,查看源代码,就 RUBYMINE 做的好一点,其它的 IDE 都感觉很鸡肋,还不如 ctags
ctags 要配置好,记得把 ruby 的 gems 源目录也加进去。
熟悉后,真的需要看源码了一般直接进行 gem 包的源码目录,直接查看
#29 楼 @cxh116 snipmate +1 必备插件,楼主说的补全的功能这个插件足够了,再配上 vim 内置的 ctrl+n, ctrl+p,补全已经基本没问题了。搭配上 ctags 应该更完美,不过我一直没有配 ctags,感觉目前已经足够了。(ctags 也能满足看源码的需求)
vim 也要配的,配到最后也是一个 IDE。相比其他 IDE,我认为 vim 有几点优势:
至于 debug,我写的 ruby 程序都是很简单的,还用不到 ruby-debug,所以都是 puts 调试,呵呵
我还在 editplus ,语法高亮都没,哈哈,公司里没办法,家里 WIN 下就 rubymine,osx 下就 textmate,不过 textmate 中文字体悲剧啊..
我现在用 Ubuntu,之前用 Win,一直想换 Mac。 以前用 Netbeans,现在 Netbeans 不好用了,因为官方不再默认支持 ruby。 最近用 Sublime Text 2。 正在尝试 Rubymine。 对 Vim 的掌握程度,仅仅限于修改服务器配置文件,还没达到编码级别。
我非常喜欢 IDE,可惜我找了很久,很多,也没找到我满意的 IDE, 我喜欢想 Delphi, VS2010 那样强大的 IDE。
Ruby 和 Rails 没有 IDE,也可以正常开发。 但是有了一个好的 IDE,真的是可以大大提高开发效率。
其实我需要 IDE 的主要目的是,“查看源码”和“Debug”。 在 IDE 中 Debug,比在终端 Debug,强的多!
Rubymine 试用了一会,感觉不错,但是,就是,"太慢了"。 真的是 Ruby“慢”啊!
IDE 的很多功能都是从 vim, emacs, textmate 的插件移植过去的...
查文档之类的功能,vim 和 textmate 默认的 ruby 包就自带了
编辑器内 debug vim, emacs, textmate2 都可以...
自动完成盯着弹出菜单按上下键太慢了,90% 情况都是 vim 和 textmate 局部完成更好使
我从 eclipse 还是 IBM 的时候 (8 年前?) 就在用,它的可编程性太弱了。vim 插件和 textmate bundle 都可以随改随用的,eclipse 下面开发个插件蛋都要疼碎了...
因为工作原因,无法离开 Windows。同时 ruby 大部分时间在 cucumber,selenium-webdriver 这些 gem 上,Vim、Sublime 这块都支持不好,Windows 上最好用的还是 Rubymine,毕竟是专门设计为 ruby 的。性能上 Rubymine3.X 确实很慢,4 EAP 现在已经提高很多了,可以试试。反正 Rubymine 变好之前(其他 IDE 例如 Netbeans 什么的就实在更慢了),一直用 Vim,不过确实重构方面还是太弱,1 个人用还行,还带着团队用难度就太大了。比较看好 Rubymine 吧,jetbrains 做工具产品,口碑都还不错,用的人也多,例如 java 的 IntelliJ,.net 的 ReSharper。反正我之前看见 textmate,vim 上能真正加快编程的功能,rubymine 都有,主要还是速度需要进一步提升吧,另外确实有些地方有点小 bug.
+1 @fredwu. 大项目 rubymine 很給力,可以配合 rails debug gem 断点调试看变量值,调试复杂逻辑代码很方便。似乎现在没其他 ide 可以做到?
我都用 ubuntu 写代码 基本上用 edit 除非进不了图形界面或者路径特别麻烦 就用 vim 用 IDE 能偷一下懒 但是 要很久才能记下 各种 method 啥的 rails 不是很复杂 所以我觉得 编辑器有 语法高亮,有自动对齐(不过我还是喜欢敲空格)还有字要大一点的 清晰点的 查官方库,breakpoint 就够了哈,又不是写 C 写 java N 长就不要补齐了
说一下我的工具历程: 一开始在 windows 下 eclipse+rails 插件 ->Aptana->netbeans 折腾了一阵子。 期间有不少问题,也折腾过,后来实在受不了然后转到了 ubuntu。 开始还是用 netbeans,netbeans 的 rails 插件确实不错。 然后用了 rubymine(这个 IDE 可以说已经是最完美的 rails IDE 了)用了一阵子。 后来受不了启动速度换了 gmate。 说到调试这个问题 作为搞过 java 和 c++ 的人一开始也比较习惯调试,但是后来发现调试不是最适合 ruby on rails 的方式,反而测试,和日志的方式更好,因为 ruby 是动态语言,本身调试起来就比较困难,再者因为它是动态语言可以很快的呈现出结果,所以觉得直接输出信息更好。 再后来又在 vim 和 emcas 之间挣扎过一阵子,后来是因为实在是 Lisp 语言太伤眼,没有信心去折腾,然后依然决然的使用 vim 直到现在,现在基本上 vim 可以完成我的所有编辑任务。 说到自动补全 IDE 的自动补全这个功能很好,但是也会让人懒惰,感觉自动补全用多了以后离开 IDE 就写不好东西了,这样不好。snippet 这种东西我感觉更适合程序员,定义自己的代码片段,在实际的编程中积累 snippets,一开始可能会很慢,但是当积累的到一定的程度后,写代码就是飞一般的感觉。而且自已维护 snippets 也有利于记忆很学习。 总之呢,选择最适合自己的工具就行了。就像《rework》中的一句话“音调出自手指”。 最终还是要靠我们这群勤劳的程序员们的手指和大脑来完成工作!!
Vim 比 ide 的强大之处就是开源,vim 插件弄多了,没错是像个 ide,但是比其他 ide 相比,他是开源的,当你对语法高亮不满时,你可以改改 ctags,或弃用 ctags 用 vim-ruby, 当你觉得哪个功能不爽时,你可以用 ruby 给 vim 开发插件,
你去 github 上看看,搜 vimfiles,一堆,为什么那么多老外用 vim?不把 rubymine 的配置文件放上面?
我是从 sourceinsight->eclipse->netbeans->rubymine-vim 走来的,以我的经历,我以后只用 vim 和 emacs。
目前 vim 我这只有一个问题:就是不支持异步,ack 大工程时要等半天。
而且一般 vim 老手是不屑于这类贴的。懒的参与这种无聊的讨论,因为有很大一部分人是初用 vim,vim 用的不熟,然后上来说“vim 有什么好处?”这类问题了。老手淡然一笑。
我 vim 用的不是很熟,所以费了几句话。
如果你细心打造你的 vim,就不会问这种问题了。
#7 楼 @quakewang sublime text 2 更新,支持 auto complete,还没转朋友的快转啊,呵呵呵 http://www.sublimetext.com/blog/articles/sublime-text-2-build-2165
再加点料 《Sublime Text 2 入门及技巧》http://lucifr.com/139225/sublime-text-2-tricks-and-tips/ 转自 lucifr.com
《三篇关于 Sublime text 2 的文章》http://readful.com/post/12818227068/sublime-text-2-by-lucifr 转自 White Space
#27 楼 @clc3123 如何 debug ruby http://bashdb.sourceforge.net/ruby-debug.html 如何 debug rails http://guides.rubyonrails.org/debugging_rails_applications.html
#63 楼 @camel 关于 vim 搭配 ctags 可以看下这个篇文章 http://hi.baidu.com/bailyzheng/blog/item/32e89af82919cee1fd037f96.html
最近在试用 Sublime Text2,autocomplete 相当惊艳,不过还得打磨下追得上已经被我打磨得很顺手的 TextMate。 有没朋友能分享下如何配置代码对齐(TM 中的快捷键盘是 cmd+opt+] ),及局部代码格式化(TM 中的快捷键盘是 cmd+opt+[ )
今天折腾了下 emacs,果然是搞不定。。。类似 vim 的 NERDTREE 怎么也弄不上去。。果断放弃。。。。
折腾了之后还是有点好处,对 emacs 的配置又多了些了解了
An IDE, or "Integrated Development Environment" will turn you stupid. They are the worst tools if you want to be a good programmer because they hide what's going on from you, and your job is to know what's going on.
摘自“Learn C the hard way” http://c.learncodethehardway.org/book/learn-c-the-hard-waych1.html
这个问题不适合泛泛而谈,IDE 有优点也有缺点,对于动态语言,代码辅助功能不可能比各种编辑器插件超出太多,debug 支持可以很方便,但是会带来懒惰和不好的编程习惯,build 系统很有用,不过遇到 rails 这种完备的开发框架就没有了用武之地,目前最有价值的功能是源码导航,特别是对 bundle 进来的 gem,IDE 可以进行很有效的关联。我一般用 gedit 编程,偶尔用 rubymine 阅读源码
哎呀,我的 Sublime Text2 还是不能输入中文啊!怎么办啊?实在不想换别的编辑器,难道要让我用 RubyMine 嘛!有高人指点下没?之前的一些方法都用了,不行啊!
#85 楼 @nuanshuidai 我的 ST2 也不能输入中文,当我需要输入中文的时候,我用 Gedit,然后复制到 ST2 中,或者直接用 Gedit 打开那个文件,不过,我只有国际化的部分需要用中文,我的代码中很少用中文,所以我丝毫不觉得麻烦
像我这种新手,感觉 rubymine 确实很强大。虽然每次启动都很慢,不过打开之后,用起来就很爽。也在用 sublime text,可能是没用熟练,还没 gedit 用的爽==
个人表示 MacVim 基本上完全足够我日常开发 Ruby、Rails、PHP、HTML、JS、Bash 等脚本语言的开发工作。当然对于 objective-C 这种,个人表示 editor 比较无力。
哈哈,这僵尸帖又浮上来了,那我就再回一个
借助snipMate插件,你也许需要 100 下按键的代码,我 50 次都不需要,不信的可以看我的视频演示哈:http://www.ruchee.com/code/linux/vim/vim_gtk.html
PS:这不算广告吧 :)
RubyMine 很不错啊,jetbrains 公司的几款产品都很厉害。pycharm、phpstorm、intellij idea,贴心的到爆。就是速度让人纠结,用了一段时间觉得自己大脑反应都变慢了。启动慢可以忍受,就是输入的时候那拖滞感让人崩溃
自动补全:解释型语言干这个事就是费力不讨好,所以不需要,打字是很爽,但 Ruby 的哲学强调少写代码,如果你每天都打很多一样的东西,难道不想办法精简吗?
DEBUG:我的步骤是先看调用堆栈分析源码,然后根据推断写一个对应的测试,然后循环这个过程,实在过不去就开 console。
查看源码:RDoc 是好东西,注释源码文档都在一起,直接看源码文件实在没什么意义,好的 RDoc 工具很多,推荐 Dash。
速度:IDE 真心比不了,有句广告词说的“钻石恒久远,一颗永流传”这就是说 Emacs 和 Vim,时间证明一切。
刚试了一下 rubymine。。。第一 挺丑的。。。第二 挺慢的。。。放弃了。。。 其实 st2 一直用的挺好的 就是没有代码格式那个插件 对应 rails 的 所以偶尔会打开 aptana 格式化一下。。。其他的没啥感觉。。。