2009-02-11 5 views
2

Pour ceux qui n'ont pas utilisé DrScheme, la fenêtre est divisée en deux parties: une partie est un fichier que vous éditez et l'autre est un shell interactif. Quand je lance un fichier, il est chargé dans un environnement interactif, donc je peux invoquer des fonctions que j'ai définies etc. L'environnement interactif a toujours toutes les fonctionnalités de l'éditeur de texte (coloration syntaxique, complétion automatique, etc ...)Editeur de texte/IDE pour Ruby similaire à DrScheme

Donc, y a-t-il un IDE pour Ruby qui n'exécute pas simplement le script que je fais, mais le charge dans irb à la place, avec tous les goodies de l'éditeur de texte?

Répondre

4

Cette demande exacte (même si le Dr Scheme l'a motivé) est ce qui m'a finalement poussé à apprendre Emacs.

Voici ce que je l'ai fait pour l'installer sous Windows Vista:

  1. Télécharger Emacs de http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip

  2. Décompressez dans le répertoire de votre choix

  3. Après avoir décompressé il créer un comprend répertoire où vous le souhaitez et copier à la fois ruby-mode.el et rubis inf.el (ceux-ci viennent avec la distribution de rubis dans le répertoire misc et peuvent également être téléchargés à partir Ruby's source

  4. Modifier votre .emacs pour lui dire où trouver votre includes et de les utiliser et

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

(optional) I ont également installé mode compile.el de http://perso.tls.cena.fr/boubaker/distrib/mode-compile.el et faites les modifications correspondantes dans 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) 

Avec ces changements Emacs identifiera automatiquement un fichier .rb comme Ruby et à faire la coloration syntaxique. Puis avec l'accord \ Cc \ Cs (Control-c, release puis Control-s) irb commencera dans la case en dessous de votre fichier, et vous pourrez utiliser toutes les touches définies par inf-ruby: (\ M est la Meta Key pour Windows qui signifie 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 

Si vous avez fait l'étape facultative et le mode décompiler installé, vous pouvez également utiliser \ C-cc pour envoyer le fichier en cours à ruby ​​au lieu de RIR

+0

Vous devez éditer votre mode-compile pour mettre "\ C-cc" au lieu de "C-cc". – aronchick

1

Je n'ai pas encore travaillé avec DrScheme, mais Netbeans 6.5 inclut un IRB complet. Avez-vous essayé?

+0

Je ne peux pas crois que je ne l'ai pas remarqué avant. D'autre part, JRuby irb, qui est essentiellement ce que je demande, se bloque dès que je le lance. Irb régulière fonctionne, mais est juste un irb régulier. – Slartibartfast

Questions connexes