Editor di testo/IDE per Ruby simile a DrScheme
Domanda
Per coloro che non hanno utilizzato DrScheme, la finestra è divisa in due parti:una parte è un file che stai modificando e l'altra è la shell interattiva.Quando eseguo un file, viene caricato nell'ambiente interattivo, quindi posso richiamare le funzioni che ho definito, ecc.L'ambiente interattivo ha ancora tutte le funzionalità dell'editor di testo (evidenziazione della sintassi, completamento automatico, ecc...)
Quindi esiste un IDE per Ruby che non si limita a eseguire lo script che sto creando, ma lo carica invece in irb, con tutte le chicche dell'editor di testo?
Soluzione
Questa precisa richiesta (anche se il Dr Scheme l'ha motivata) è ciò che alla fine mi ha spinto a imparare Emacs.
Ecco cosa ho fatto per installarlo sotto Windows Vista:
Scarica Emacs da http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip
Decomprimilo nella directory di tua scelta
Dopo averlo decompresso, crea un file include directory ovunque desideri e copia lì entrambi ruby-mode.el E rubino-inf.el (questi vengono forniti con la distribuzione Ruby nella directory misc e possono anche essere scaricati da La fonte di Ruby
Modifica il tuo .emacs per dirgli dove trovare i tuoi include e come usarli
; 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) ))
(facoltativo) Ho anche installato mode-compile.el da http://perso.tls.cena.fr/boubaker/distrib/mode-compile.el e ho apportato le modifiche corrispondenti in .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)
Con queste modifiche Emacs identificherà automaticamente un file .rb come Ruby ed evidenzierà la sintassi.Quindi con l'accordo \C-c\C-s (Control-c, rilascia e poi Control-s) irb inizierà nella casella sotto il tuo file e potrai utilizzare tutte le chiavi definite da inf-ruby:(\M è il Meta Key che per Windows significa 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
Se hai eseguito il passaggio facoltativo e installato la modalità di compilazione, puoi anche utilizzare \C-cc per inviare il file corrente a Ruby invece che a irb
Altri suggerimenti
Non ho ancora lavorato con DrScheme, ma Netbeans 6.5 include un'IRB full-optional. Avete dato una prova?