Editor Rails

2009/1/9 David W. [email protected]:

Se sei su Linux, la cosa migliore e` Emacs. Anche se sei su MacOS X o
Windows, secondo me, ma ‘de gustibus…’ :slight_smile:

concordo pienamente. con emacs puoi appunto passare V a M etc., puoi
eseguire la console, task vari, etc.

tra l’altro, a differenza di linguaggi compilati, tipo java o anche C,
in cui programmi tipo eclipse hanno delle comodità difficilmente
riproducibili con emacs (due per tutte: autocompletamento dei metodi,
controllo del numero e del tipo dei parametri), è improbabile da
realizzare per ruby in genere e rails in particolare, visto che: 1) un
metodo può essere (ri)definito in un sacco di posti diversi, e a meno
di simulare l’esecuzione passo passo non c’è modo di sapere qual è
l’ultima versione, cioè quella buona; 2) molti metodi sono definiti
come def metodo(*args), per cui c’è poco da indovinare.

Il giorno 22/gen/09, alle ore 14:04, Mauro ha scritto:

Stavo provando emacs, e’ un po’ ostico e non riconosce la sintassi
ruby, le
def non vengono evidenziate, ecc. ecc.

Devi configurarlo e probabilmente caricare delle estensioni (ma non
e’ facilissimo).

Ci sono in giro alcuni screencast che ti fanno vedere dove puoi
arrivare (ma non come :frowning: ):

http://emacsonrails.drozdov.net/ (quello che uso io)

e questo:

http://platypope.org/yada/emacs-demo/

Per quanto riguarda dove prendere le estensioni e come configurarle:

http://www.emacswiki.org/emacs/RubyMode

e

http://www.emacswiki.org/emacs/RubyOnRails

PS
Poi dipende moltissimo da che versione di emacs hai. Rigorosamente ci
vuole la 22, se tu avessi la 23 non avresti neanche postato forse. Cmq:

Stavo provando emacs, e’ un po’ ostico e non riconosce la sintassi ruby, le
def non vengono evidenziate, ecc. ecc.

Ovviamente e` in grado di fare syntax highlighting di Ruby, se
installi ruby-mode.

apt-get install ruby-elisp

Emacs e anche in grado di fare syntax highlighting di C, C++, Java, Tcl, Perl, Python, Ada, LaTeX, Erlang, Haskell, Lisp, Scheme, Lua, Javascript, HTML, ASM, Fortran, Smalltalk, Shell, SQL, PHP, Ada, e chissa che cos’altro. Ovvero, se decidi di usare un linguaggio
nuovo, probabilmente esiste gia` in Emacs.


David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/

Luigi P. wrote:

Il giorno 22/gen/09, alle ore 14:04, Mauro ha scritto:

Stavo provando emacs, e’ un po’ ostico e non riconosce la sintassi
ruby, le
def non vengono evidenziate, ecc. ecc.

Devi configurarlo e probabilmente caricare delle estensioni (ma non
e’ facilissimo).

[Modalità inizio guerra di religione attiva]

Usa vim, che è buono, bello, semplice, efficace, colora tutto quello che
vuoi e se installi i giusti plugin hai anche il completamento
semiautomatico (ho fatto delle prove tempo fa, qualche problemino c’era,
ma prometteva bene, anche se ho preferito non usarlo :slight_smile: )

[Modalità inizio guerra di religione disattivata]

Se ti può interessare (mi scuso in caso mi ripetessi, ma non ricordo più
se l’ho già detto ed eventualmente dove), io uso anche gedit (editor di
testo predefinito su gnome) e non mi dispiace, fa il suo lavoro
egregiamente, ha una bella scelta di colori e ci sono due o tre settaggi
interessanti; ce ne sono altri che hanno delle cosette in più, ma io
preferisco scrivere su sfondo nero, cosa che gli altri non fanno…
almeno quelli che ho visto.

Cmq per concludere vorrei condividere con voi una lista di feature
desiderata per un ambiente di sviluppo rails (alla fine non sono
proprio contentissimo neanche io con emacs)

  1. syntax highlighting e smart tab negli .rb (questo e’ il minimo)

  2. syntax highlighting e smart tab funzionante negli .rhtml / .erb

  3. Integrazione con la doc di Rails, ri

  4. qualche abbreviazione alla TextMate

  5. Modalita’ di passaggio rapido tra model/view/controller

  6. uno shortcut per andare alla console, o al prompt sql

  7. Riferimenti: possibilita` di andare alla definizione di una
    funzione/metodo velocemente

  8. Supporto cvs/svn/git/blablabla

  9. un minimo di doc as you type (tipo la method signature, mi rendo
    conto che e’ difficile, ma mi piacerebbe averne un minimo)

  10. Tools di refactoring (ok per questo potrei pagare)

  11. un modo per lanciare i test in una finestra ed andare al linea
    che ha generato l’errore velocemente

  12. idem per i backtrace in debug mode che finiscono nelle pagine rails

In questo momento con emacs e emacs-rails mi mancano (tanto) 2, 7, 9
e 10, 11 e 12.

Per 2 lo risolvo cercando di limitare quanto piu’ possibile la
quantita` di codice ruby nelle view.
Per 7 forse si puo’ risolvere con etags
9,10,11 non ho idea
Per 2 e 12 forse qualcosa si puo’ fare in elisp ma non ho mai avuto
tempo di guardarci.

2009/1/22 Luigi P. [email protected]

  1. qualche abbreviazione alla TextMate
  2. un minimo di doc as you type (tipo la method signature, mi rendo
    e 10, 11 e 12.

Per 2 lo risolvo cercando di limitare quanto piu’ possibile la
quantita` di codice ruby nelle view.
Per 7 forse si puo’ risolvere con etags
9,10,11 non ho idea
Per 2 e 12 forse qualcosa si puo’ fare in elisp ma non ho mai avuto
tempo di guardarci.

Qualcuno aveva accennato ad Aptana RaidRails, ho avuto modo di dargli
un’occhiata velocissima, un amico lo aveva installato.
Sembra molto buono ma vedo che qui non lo usa quasi nessuno.

2009/1/22 Luigi P. [email protected]

Ci sono in giro alcuni screencast che ti fanno vedere dove puoi
arrivare (ma non come :frowning: ):

http://emacsonrails.drozdov.net/ (quello che uso io)

Sembra molto carino.
Ho provato ad installarlo ma non sono riuscito a far funzionare niente,
potresti darmi una mano?
Ho installato emacs22 dal deb di debian, scaricato e scompattato sotto
$HOME/.emas.d/ il file
emacs-rails-0.5.99.5.tar.gzhttp://rubyforge.org/frs/download.php/20976/emacs-rails-0.5.99.5.tar.gz
.
Sotto la stessa directory ho scaricato e messo i files snippet.el e
find-recursive.txt.
Ho creato il file $HOME/.emacs e ci ho inserito:

(setq load-path (cons “~/.emacs.d/emacs-rails” load-path))
(require 'rails)

A questo punto?

Devi rinominare find-recursive.txt in find-recursive.el

Mi sembra che tu ci sia vicino, per lo meno se vai in una dir con un
progetto rails dovresti gia’ vedere i menu di emacs-rails, a meno che
non ti manchi qualche dipendenza (imho la cosa piu’ probabile per
questo plugin).
Se ti manca qualche dipendenza vedrai meglio gli errori nel buffer
Messages.

Se non funge prova a dire a emacs di usare il ruby-mode ogni qual
volta che apri un file .rb, andando a cambiare la mode-alist.

Ti incollo qualche estratto della mia configurazione (che e’ un po’
confusa, ed inoltre viene da vecchie configurazioni quando ancora non
esisteva emacs-rails). Ma ho il sospetto che queste impostazioni
siano ridondanti con emacs-rails.

(setq auto-mode-alist
(append '(("\.rb$" . ruby-mode)) auto-mode-alist))

;;; Questo e` per avere il modalita’ di editing ruby anche in console
(setq interpreter-mode-alist (append '((“ruby” . ruby-mode))
interpreter-mode-alist))

;;; Attiva un po’ di feature ogni qual volta sei in ruby mode
(add-hook 'ruby-mode-hook '(lambda ()
(inf-ruby-keys)
(abbrev-mode)
(ruby-electric-mode)))

;;; Se non usi multi-mode, nelle view e` conveniente usare la
modalita’ html (meglio ancora sarebbe pgxml come fa David)
(add-to-list 'auto-mode-alist '("\.rhtml$" . html-mode))

2009/1/23 Luigi P. [email protected]

Devi rinominare find-recursive.txt in find-recursive.el

Si ci sono arrivato dopo ed inoltre devo copiare snippet.el e
find-recursive-el sotto la directory $HOME/.emacs.d/emacs-rails e non
sotto
$HOME/.emacs.d.
Ora perlomeno vedo i menu di rails :-).
Usi anche ECB, lo hai provato?

From: Luigi P. [email protected]
To: [email protected]
Sent: Thursday, 22 January, 2009 17:34:35
Subject: Re: [ruby-it] Editor Rails

Cmq per concludere vorrei condividere con voi una lista di feature
desiderata per un ambiente di sviluppo rails (alla fine non sono
proprio contentissimo neanche io con emacs)

  1. syntax highlighting e smart tab negli .rb (questo e’ il minimo)

Tanto per aggiungerlo, io (che purtroppo non so usare emacs) ho usato
per un po’ vim+rails.vim, che ha più o meno le stesse feature e mancanze che
dicevi tu.
Ha il supporto minimo di un refactoring (estrazione dei partial
automatica) e la possibilità di navigare tra
modelli/controller/viste/test, e file/definizioni. Io son stato convinto
da gf (salta al file) che funziona ovunque ; render partial,
associazioni, classi varie, layout, fixtures, stylesheet… fantastico.

Non ha un irb integrato (credo, ma ha :Rp, :Rpp e :Ry per eseguire
blocchi di codice) e e non gestisce direttamente la connessione al db
(però si integra con dbext.vim per quello).

In più ha il punto 11 tramite il meccanismo standard di vim (esecuzione rake
e definizione del meccanismo di parsing della riga d’errore) , il che
significa che dovrebbe essere banale da implementare anche per emacs :slight_smile:

2009/1/23 Daneel O. [email protected]

modello e al controller relativo e viceversa, come colori va bene,
peccato solo che non si possa impostare lo sfondo nero e un set di
colori adeguato… oh, sì, potrei fare a mano, ma è un vero e proprio
macello (almeno per me) :slight_smile:

Ci lavoro un po’ e vedo se riuscirà a farmi abbandonare il buon, vecchio
vim :slight_smile:

Hai scaricato la versione standalone o lo hai integrato con eclipse?

Mauro wrote:

2009/1/23 Daneel O. [email protected]

modello e al controller relativo e viceversa, come colori va bene,
peccato solo che non si possa impostare lo sfondo nero e un set di
colori adeguato… oh, s�, potrei fare a mano, ma � un vero e proprio
macello (almeno per me) :slight_smile:

Ci lavoro un po’ e vedo se riuscir� a farmi abbandonare il buon, vecchio
vim :slight_smile:

Hai scaricato la versione standalone o lo hai integrato con eclipse?

Stand alone; con eclipse ho fatto un po’ di guerra tempo fa e secondo me
era anche pesantuccio.

Mauro wrote:

Qualcuno aveva accennato ad Aptana RaidRails, ho avuto modo di dargli
un’occhiata velocissima, un amico lo aveva installato.
Sembra molto buono ma vedo che qui non lo usa quasi nessuno.

L’ho ripreso in mano ora (versione 1.2.1.020234 NON professional) per un
progettino Rails ed è veramente carino: gli ho detto di caricare il tal
progetto esistente nella tal directory ed in automatico me l’ha
riconosciuto; se si è su una view ci sono le scorciatoie per andare al
modello e al controller relativo e viceversa, come colori va bene,
peccato solo che non si possa impostare lo sfondo nero e un set di
colori adeguato… oh, sì, potrei fare a mano, ma è un vero e proprio
macello (almeno per me) :slight_smile:

Ci lavoro un po’ e vedo se riuscirà a farmi abbandonare il buon, vecchio
vim :slight_smile:

2009/1/23 Daneel O. [email protected]

Hai scaricato la versione standalone o lo hai integrato con eclipse?

Stand alone; con eclipse ho fatto un po’ di guerra tempo fa e secondo me
era anche pesantuccio.

purtroppo per sistemi a 64 bit mi pare di aver letto tra i requirements
che
bisogna usare il plugin per eclipse e tra l’altro funziona solo con
java1.5.

Il giorno 23/gen/09, alle ore 09:06, Mauro ha scritto:

Usi anche ECB, lo hai provato?

No. Lo uso per le (rare) volte che programmo in Java ma in Ruby non
l’ho mai provato.

Prima o poi dovro’ passare ad Aquamacs che mi sembra ce l’abbia di
default.