Quali funzionalità, pacchetti, componenti aggiuntivi, ecc. Di Emacs ti aiutano nello sviluppo quotidiano di Ruby On Rails?Quali sono le funzionalità utili di Emacs per lo sviluppo di Rails
risposta
Io uso emacs-rails
e alcune modalità per modificare il CSS, JS (espresso-mode), Haml, sass, YAML e una modalità di frammento (yas-snippet). Per una panoramica guarda in emacs wiki pages on Ruby on Rails..
Questo è YASnippet, non yas-snippet –
Le versioni precedenti di entrambe le modalità emacs-rails e Rinari (le due modalità più diffuse per lo sviluppo di Rails) erano molto ricche, ma gonfie e ingombranti. Per mantenere un nucleo piccolo, pulito, affidabile, funzionale e hackerabile, Rinari eviterà gran parte delle funzionalità di tipo "campane e fischietti". Tuttavia, ciò non vuol dire che questi extra extra potrebbero non essere utili.
Questa pagina deve fungere da punto di marshalling per i collegamenti ad altri strumenti/pacchetti che funzionano bene con Rinari e Rails in generale. Se hai qualche idea per le aggiunte a questo elenco, o per le nuove funzionalità di Rinari, faccelo sapere allo http://groups.google.com/group/emacs-on-rails.
Modalità principali essenziali per lavorare con Rails
modalità Ruby, e di alcuni altri Ruby-Emacs chicche generali possono essere trovati in directory/misc della distribuzione rubino ea http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/misc/ (è anche in bundle di default con Emacs 23,1)
modalità YAML http://www.emacswiki.org/cgi-bin/wiki/YamlMode
modo CSS http://www.emacswiki.org/cgi-bin/emacs/css-mode-simple.el
JavaScript Modo http://www.emacswiki.org/cgi-bin/wiki/JavaScriptMode#toc1 Altri strumenti di
Rhtml modo minore modalità per la modifica file rhtml (senza MMM-Mode) vedere rhtml-Mode
Snippets http://code.google.com/p/yasnippet/ snippet Rails http://github.com/eschulte/yasnippets-rails/tree/master
supporto ruby-debug http://groups.google.com/group/emacs-on-rails/browse_thread/thread/dfaa224905b51487
modalità ido http://www.emacswiki.org/cgi-bin/wiki/InteractivelyDoThings
nxhtml-mode - la migliore modalità per lo sviluppo web in Emacs - una grande alternativa del rhtml-mode per la modifica dei file erb tra molti altre cose.
La maggior parte di questo materiale è copiata dalla documentazione di Rinari. Come avrai intuito, preferisco Rinary su emacs-rails. Osservando l'attività di entrambi i progetti, emacs-rails non ha subito cambiamenti per circa un anno, mentre il rinary è ancora in fase di sviluppo.
Sulla base della sua descrizione, Rinari suona proprio come quello che sto cercando, ma la versione corrente ospitata su Github è rotta, come ho notato in [questo commento] (http://stackoverflow.com/questions/2713096/emacs-rails-vs-rinari#comment17458856_2736256). –
Personalmente uso [Emacs Prelude] (http://github.com/bbatsov/prelude) per lo sviluppo di Rails. L'estensione 'projectile' che è in bundle mi fornisce le funzionalità di navigazione del progetto di cui ho bisogno e non mi interessa il resto delle funzionalità di Rinari. –
Ho aggiunto una risposta su 'proiettile'. A proposito, eri troppo modesto per dire che è il tuo lavoro. :) –
Ho provato il Aptana Studio IDE (open-source), che gestisce i progetti Rails.Ho scoperto che lo utilizzavo principalmente per navigare tra i file di un progetto Rails, e dal momento che preferisco usare Emacs per modificare i file comunque, per ora ho impostato Aptana. (Ma potrebbe tornare utile in seguito quando si esegue il debug, quindi non lo escludo completamente.)
Ho recentemente provato diverse estensioni Emacs per aiutare con lo sviluppo di Rails: ECB (Emacs Code Browser), Rinari, e qualcos'altro di cui mi dimentico, di cui non ero affatto contento, o che non potevo lavorare. Tuttavia, ora sto usando felicemente projectile
, che Bozhidar Batsov ha menzionato in un commento sopra. Aggiunge convenienza alla ricerca di file all'interno di un progetto e al loro consumo. Non è specifico solo per i progetti di Rails.
Un altro Emacs molto utile add-on che ho recentemente scoperto è l'estensione tabbar
, che funziona un po 'come bar tab del browser. Ho legato la navigazione tra le schede aperte ai miei tasti M-leftarrow e M-rightarrow, il che rende il passaggio tra i buffer molto più conveniente di prima.
Continuando con Emcas, c'è bubble-buffer
(codice qui sotto), con la quale posso solo premere un tasto (F5 nel mio caso) per passare il contenuto del buffer in un file visitato di recente - anche se tabbar
rende questo un po 'superfluo. Sto anche includendo il codice per eliminare immediatamente un buffer con C-DEL, oltre a un paio di piccole funzioni che consentono di scorrere su e giù un buffer mantenendo il punto costante, a patto che non si spenga schermo; il codice qui li lega al tastierino numerico *
e /
. (Nessuno di questi è il mio lavoro.)
;; Use F5 to switch between buffers. Use C-DEL to remove the current buffer
;; from the stack and retrieve the next buffer. The most-frequented buffers are
;; always on the top of the stack. (Copied, with changes and a bugfix, from
;; http://geosoft.no/development/emacs.html.)
(defvar LIMIT 1)
(defvar time 0)
(defvar mylist nil)
(defun time-now()
(car (cdr (current-time))))
(defun bubble-buffer()
(interactive)
(if (or (> (- (time-now) time) LIMIT) (null mylist))
(progn (setq mylist (copy-alist (buffer-list)))
(delq (get-buffer " *Minibuf-0*") mylist)
(delq (get-buffer " *Minibuf-1*") mylist)))
(bury-buffer (car mylist))
(setq mylist (cdr mylist))
(setq newtop (car mylist))
(switch-to-buffer (car mylist))
(setq rest (cdr (copy-alist mylist)))
(while rest
(bury-buffer (car rest))
(setq rest (cdr rest)))
(setq time (time-now)))
(global-set-key [f5] 'bubble-buffer)
(defun kill-buffer-without-questions()
;; Kill default buffer without the extra emacs questions
(interactive)
(kill-buffer (buffer-name)))
(global-set-key [C-delete] 'kill-buffer-without-questions)
;; Scroll up and down without moving the cursor by pressing the numeric keypad's
;; "/" and "*" keys.
(defun scroll-down-keep-cursor()
;; Scroll the text one line down while keeping the cursor
(interactive)
(scroll-down 1))
(defun scroll-up-keep-cursor()
;; Scroll the text one line up while keeping the cursor
(interactive)
(scroll-up 1))
(global-set-key [kp-divide] 'scroll-down-keep-cursor)
(global-set-key [kp-multiply] 'scroll-up-keep-cursor)
- 1. Quali sono le cinque priorità per lo sviluppo del software?
- 2. Modifica collaborativa per lo sviluppo .NET: quali sono le possibilità
- 3. Quali sono i plugin Xcode più utili?
- 4. Quali sono tutte le restrizioni di sviluppo Apple per iPhone
- 5. Quali plugin del browser di sviluppo Web trovate utili?
- 6. Quali sono le insidie del test dopo lo sviluppo?
- 7. Quali sono i pacchetti intelligenti più utili per Meteor.js
- 8. Elenco di utili librerie di Android per lo sviluppo di Android e le applicazioni
- 9. In quali circostanze sono utili le proprietà atomiche?
- 10. Quali sono le migliori pratiche per lo sviluppo di applicazioni semantiche utilizzando Jena & RDF
- 11. Quali sono le funzionalità di Moq e Rhino.mocks?
- 12. Quali sono le funzionalità più interessanti di Ruby on Rails, perché sceglierlo?
- 13. Quali sono le nuove funzionalità di Eclipse Helios?
- 14. Le immagini vettoriali sono utili per Android?
- 15. Quando sono utili le Trasformazioni di Schwartz?
- 16. per lo sviluppo di servizi Web RESTful
- 17. Quali concetti statistici sono utili per la profilazione?
- 18. Per cosa sono utili le globali di Ruby?
- 19. Quali sono le funzionalità richieste dei framework ETL?
- 20. Esistono modelli di progettazione specificamente utili per lo sviluppo di giochi?
- 21. Quali sono le funzionalità più abusate in Visual Studio/C#?
- 22. Quali funzionalità di C99 sono considerate dannose o non supportate
- 23. Installazione di PostgreSQL su OSX per lo sviluppo di Rails
- 24. Quali macro utili hai creato in Netbeans?
- 25. Quali sono alcuni dei migliori modelli e pratiche per lo sviluppo di PHP?
- 26. Quali sono le funzionalità considerate come python avanzato?
- 27. Quali cose possono rendere più veloce lo sviluppo di CSS?
- 28. Quali sono tutte le "convenzioni" per Ruby on Rails?
- 29. ricerca funzionalità di completamento automatico in emacs
- 30. Framework test unità - Quali sono le funzionalità principali
Ctrl-X, Ctrl-C? – Oded
la virgola è troppo. è Cx Cc nella nomenclatura corretta –