Текстовый редактор/IDE для Ruby, аналогичный DrScheme

StackOverflow https://stackoverflow.com/questions/536203

  •  22-08-2019
  •  | 
  •  

Вопрос

Для тех, кто не использовал DrScheme, окно разделено на две части:одна часть — это файл, который вы редактируете, а другая — интерактивная оболочка.Когда я запускаю файл, он загружается в интерактивную среду, поэтому я могу вызывать определенные мной функции и т. д.Интерактивная среда по-прежнему имеет все функции текстового редактора (подсветка синтаксиса, автозаполнение и т. д.).

Итак, существует ли IDE для Ruby, которая не просто выполняет сценарий, который я создаю, но вместо этого загружает его в irb со всеми вкусностями текстового редактора?

Это было полезно?

Решение

Именно этот запрос (даже тот факт, что его мотивировал доктор Шейм) в конечном итоге подтолкнул меня к изучению Emacs.

Вот что я сделал, чтобы установить его под Windows Vista:

  1. Загрузите Emacs с http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip

  2. Разархивируйте его в каталог по вашему выбору

  3. После распаковки создайте включает каталог в любом месте и скопируйте туда оба Ruby-mode.el и Ruby-inf.el (они входят в дистрибутив Ruby в каталоге misc, а также их можно загрузить с сайта Источник Руби

  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)
))

(необязательно) я также установил режим-compile.el от http://perso.tls.cena.fr/boubaker/distrib/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 и выделит подсветку синтаксиса.Затем с помощью аккорда \C-c\C-s (Control-c, Release и затем Control-s) irb начнется в поле под вашим файлом, и вы сможете использовать все клавиши, определенные inf-ruby:(\M — это метаключ, который для 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

Если вы выполнили необязательный шаг и установили режим компиляции, вы также можете использовать \C-cc для отправки текущего файла в Ruby вместо irb.

Другие советы

Я еще не работал с DrScheme, но Netbeans 6.5 включает в себя полнофункциональный IRB.Вы попробовали?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top