对于那些没有使用过 DrScheme 的人来说,窗口分为两部分:一部分是您正在编辑的文件,另一部分是交互式 shell。当我运行一个文件时,它被加载到交互环境中,所以我可以调用我定义的函数等。交互环境仍然具有文本编辑器的所有功能(语法突出显示,自动完成等......)
那么是否有一个用于 Ruby 的 IDE,它不仅执行我正在制作的脚本,而且将它加载到 irb 中,并带有所有文本编辑器的好东西?
这个确切的要求(即使是由 Scheme 博士推动的事实)最终促使我学习 Emacs。
这是我在 Windows Vista 下安装它的方法:
从http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip下载 Emacs
解压到你选择的目录
解压后在任何你想要的地方创建一个包含目录并复制ruby -mode.el和ruby -inf.el
修改您的.emacs以告诉它在哪里可以找到您的包含并使用它们
; directory to put various el files into (add-to-list 'load-path "C:/emacs-22.3/includes") ;(1)modify .emacs to use ruby-mode (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) (setq auto-mode-alist (append '(("\\.rb$" . ruby-mode)) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-alist)) ;(2)set to load inf-ruby and set inf-ruby key definition in ruby-mode. (autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process") (autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode") (add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys) ))
(可选)我还从http://perso.tls.cena.fr/boubaker/distrib/mode-compile.el安装了mode-compile.el并在 .emacs 中进行了相应的编辑
; Install mode-compile (autoload 'mode-compile "mode-compile" "Compile current buffer based on the major mode" t) (global-set-key "C-cc" 'mode-compile) (autoload 'mode-compile-kill "mode-compile" "Kill compilation launched by `mode-compile'" t) (global-set-key "C-ck" 'mode-compile-kill)
通过这些更改,Emacs 将自动将 .rb 文件识别为 ruby 并进行语法高亮。然后使用和弦 \Cc\Cs (Control-c, release 然后 Control-s) irb 将在您的文件下方的框中开始,您可以使用 inf-ruby 定义的所有键:(\M 是 Meta Key这对于 Windows 意味着 Alt)
"\C-c\C-b" 'ruby-send-block
"\C-c\M-b" 'ruby-send-block-and-go
"\C-c\C-x" 'ruby-send-definition
"\C-c\M-x" 'ruby-send-definition-and-go
"\C-c\C-r" 'ruby-send-region
"\C-c\M-r" 'ruby-send-region-and-go
"\C-c\C-z" 'switch-to-ruby
"\C-c\C-l" 'ruby-load-file
"\C-c\C-s" 'run-ruby
如果您执行了可选步骤并安装了 mode-compile,您还可以使用 \C-cc 将当前文件发送到 ruby 而不是 irb
我还没有使用过 DrScheme,但是 Netbeans 6.5 包含一个功能齐全的 IRB。你试过了吗?