2

对于那些没有使用过 DrScheme 的人来说,窗口分为两部分:一部分是您正在编辑的文件,另一部分是交互式 shell。当我运行一个文件时,它被加载到交互环境中,所以我可以调用我定义的函数等。交互环境仍然具有文本编辑器的所有功能(语法突出显示,自动完成等......)

那么是否有一个用于 Ruby 的 IDE,它不仅执行我正在制作的脚本,而且将它加载到 irb 中,并带有所有文本编辑器的好东西?

4

2 回答 2

4

这个确切的要求(即使是由 Scheme 博士推动的事实)最终促使我学习 Emacs。

这是我在 Windows Vista 下安装它的方法:

  1. 从http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip下载 Emacs

  2. 解压到你选择的目录

  3. 解压后在任何你想要的地方创建一个包含目录并复制ruby ​​-mode.elruby ​​-inf.el

  4. 修改您的.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

于 2009-02-12T20:52:21.947 回答
1

我还没有使用过 DrScheme,但是 Netbeans 6.5 包含一个功能齐全的 IRB。你试过了吗?

于 2009-02-11T10:28:57.450 回答