Ruby的文本编辑器/ IDE类似于DrScheme

时间:2009-02-11 10:10:46

标签: ruby ide racket irb

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

那么有一个用于Ruby的IDE不仅可以执行我正在编写的脚本,而是将其加载到irb中,而不是所有文本编辑器的好东西?

2 个答案:

答案 0 :(得分:4)

这个确切的要求(即使是Dr博士推动它的事实)也是最终促使我学习Emacs的原因。

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

  1. http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip

  2. 下载Emacs
  3. 将其解压缩到您选择的目录

  4. 解压缩后,在任意位置创建一个 includes 目录,并在那里复制 ruby​​-mode.el ruby​​-inf.el (这些都带有misc目录下的ruby发行版,也可以从Ruby's source下载

  5. 修改您的 .emacs ,告诉它在哪里找到您的包含并使用它们

  6. ; 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

答案 1 :(得分:1)

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