Question

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.Lorsque j'exécute un fichier, il est chargé dans un environnement interactif, ce qui me permet d'invoquer les fonctions que j'ai définies, etc.L'environnement interactif possède toujours toutes les fonctionnalités d'un éditeur de texte (surlignage de la syntaxe, saisie semi-automatique, etc...)

Existe-t-il donc un IDE pour Ruby qui non seulement exécute le script que je crée, mais le charge à la place dans irb, avec tous les avantages de l'éditeur de texte ?

Était-ce utile?

La solution

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

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

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

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

  3. Après l'avoir décompressé, créez un comprend répertoire où vous le souhaitez et copiez-y les deux ruby-mode.el et ruby-inf.el (ceux-ci sont fournis avec la distribution Ruby dans le répertoire misc et peuvent également être téléchargés depuis La source de Ruby

  4. Modifiez votre .emacs pour lui dire où trouver vos inclusions et les utiliser

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

(facultatif) J'ai également installé mode-compile.el depuis http://perso.tls.cena.fr/boubaker/distrib/mode-compile.el et effectué 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 modifications, Emacs identifiera automatiquement un fichier .rb comme Ruby et effectuera la coloration syntaxique.Puis avec l'accord \C-c\C-s (Control-c, release puis Control-s) irb démarrera dans la case en dessous de votre fichier, et vous pourrez utiliser toutes les touches définies par inf-ruby :(\M est la clé méta qui pour Windows 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 effectué l'étape facultative et installé le mode compilation, vous pouvez également utiliser \C-cc pour envoyer le fichier actuel vers Ruby au lieu d'irb.

Autres conseils

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top