Jakie są najlepsze tryby, ustawienia konfiguracji lub cokolwiek, co sprawia, że tworzenie aplikacji Ruby on Rails w emacs jest lepsze.Wskazówki i porady dotyczące używania emacsa do tworzenia aplikacji z rubinami na szynach
Odpowiedz
Powinieneś wypróbować wszystkie RoR i zadowolić się tym, którego najbardziej lubisz.
Najpierw powinieneś sprawdzić Marshall Vandegrift za excellent screencast używając ECB, ruby-mode, emacs-rails i kilku innych rzeczy. Daje ci to dobre wyczucie, jak fajne może być pisanie RoR na Emacsie.
W skrócie oto niektóre z trybów należy spróbować:
- Rinari - Prosty ramy do poruszania się po kodzie, prowadzenie badań i zarządzania konsol, web-serwerów itd To minimalistyczne i kręci wokół serii wiązań klawiszy.
- Emacs-rails - dziadek trybów RoR Emacs. Od jakiegoś czasu nie była aktualizowana, a główna strona główna już nie istnieje. Ale jest dość potężny i pozwala robić prawie wszystko.
- Emacs-rails-reloaded - To jest re-design oryginalnych szyn emacs, uważam, że przez tego samego faceta. Używa świetnego trybu anything, aby pomóc Ci znaleźć rzeczy i obejść. Używam tego ORAZ rinari obecnie.
Oto kilka innych trybów, które są użyteczne:
- ECB - Przeglądarka Code Emacs. Użyj go do zarządzania projektami i poruszania się po kodzie.
- Yasnippet - dostarcza wszelkiego rodzaju użyteczne fragmenty, automatycznie wstawiane za pomocą klawisza TAB.
- Nxhtml - do edycji rhtml, erb, itp
więcej trybów można spróbować:
- Ri - do przeglądania dokumentacji ri inline.
- Flymake-ruby - sprawdzanie składni w locie.
- Ri - dla Przeglądanie dokumentacji ri
No i oczywiście trzeba ruby-mode, który pochodzi ze źródła rubinowego, i jest utrzymywana przez samego Matz.
Nadzieja to pomaga
rspec-mode
(uruchomienie jednego lub wielu specyfikacje łatwo)
js2-mode
(JavaScript podświetlanie składni)
ido
(Znajdź pliki/bufory w projekcie bardzo szybko)
Ponieważ jestem nowy na szynach (i emacs), nie chcę od razu używać rinari. Uważam, że jeśli narzędzie ma za dużo magii, nie poznaję szczegółów tak szybko, jak bym chciał. Myślę, że ostatecznie go wykorzystam.Na razie jednak ustawiam kilka powłok, które spawnuję w emacs dla RAILS 3 i przełączam się między nimi, aby wykonać swoją pracę. Poprzedę je tmr, aby je łatwo znaleźć.
(defun tmr-spork-shell()
"Invoke spork shell" ; Spork - love that name
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "spork")))
(shell (current-buffer))
(process-send-string nil "cd .\n"); makes sure rvm variables set with .rvmrc
(process-send-string nil "spork\n"))
(defun tmr-devlog-shell()
"Tail the development log, shell"
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "devlog")))
(shell (current-buffer))
(process-send-string nil "cd .\n"); makes sure rvm variables set with .rvmrc
(process-send-string nil "tail -f log/development.log\n"))
(defun tmr-testlog-shell()
"Tail the test log, shell"
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "testlog")))
(shell (current-buffer))
(process-send-string nil "cd .\n"); makes sure rvm variables set with .rvmrc
(process-send-string nil "tail -f log/test.log\n"))
(defun tmr-server-shell()
"Invoke rails ui server shell"
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "server")))
(shell (current-buffer))
(process-send-string nil "cd .\n"); makes sure rvm variables set with .rvmrc
(process-send-string nil "rails s\n"))
(defun tmr-db-shell()
"Invoke rails dbconsole shell"
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "dbconsole")))
(shell (current-buffer))
(process-send-string nil "cd .\n"); makes sure rvm variables set with .rvmrc
(process-send-string nil "rails dbconsole\n"))
(defun tmr-console-shell()
"Invoke rails console shell"
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "console")))
(shell (current-buffer))
(process-send-string nil "cd .\n"); makes sure rvm variables set with .rvmrc
(process-send-string nil "rails console\n"))
; I like to run all my tests in the same shell
(defun tmr-rspec-shell()
"Invoke rspec shell"
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "rspec")))
(shell (current-buffer))
(process-send-string nil "cd .\n"); makes sure rvm variables set with .rvmrc
(process-send-string nil "rspec spec\n")) ; This is debatable, since spork wont be up yet
; The shell where I do most of my work
(defun tmr-shell()
"Invoke plain old shell"
(interactive)
(pop-to-buffer (get-buffer-create (generate-new-buffer-name "sh")))
(shell (current-buffer))
(process-send-string nil "cd .\n")); makes sure rvm variables set with .rvmrc
; My everyday ide
(defun tmr-ide-lite()
"Spawn several shells for a mini Rails IDE"
(interactive)
(progn (tmr-spork-shell)
(tmr-shell)
(tmr-server-shell)
(tmr-rspec-shell)))
; When I am doing a big debug session
(defun tmr-ide-full()
"Spawn several shells for a full Rails IDE"
(interactive)
(progn (tmr-spork-shell)
(tmr-shell)
(tmr-server-shell)
(tmr-console-shell)
(tmr-db-shell)
(tmr-devlog-shell)
(tmr-testlog-shell)
(tmr-rspec-shell)))
Innym sposobem, że znajdę użyteczne, które nie zostały wymienione jest web-mode
. Przydaje się do pisania widoków i bardzo dobrze obsługuje pliki .html.erb. Zawiera m.in. podświetlanie składni i uzupełnianie tagów. Można go znaleźć pod numerem here.
- 1. Problemy z rubinami na szynach na heroku
- 2. Jakieś wskazówki dotyczące tworzenia aplikacji do głosowania na Androida?
- 3. wskazówki dotyczące tworzenia niezależnej od rozdzielczości aplikacji
- 4. Wskazówki dotyczące tworzenia Penlets
- 5. Porady dotyczące tworzenia serwera WWW
- 6. Profesjonalne porady i wskazówki
- 7. Praktyczne porady dotyczące używania Jersey i Guice do usług RESTful
- 8. Wskazówki i porady dotyczące tworzenia pięknych zaprojektowanych widoków na iPhonie/Objective-C
- 9. Wskazówki i porady szkoleniowe Qt
- 10. Porady dotyczące aplikacji do rysowania kakao
- 11. Wskazówki dotyczące używania Vima jako Java IDE?
- 12. Wskazówki dotyczące poprawnego używania dużych zmiennych rozgłoszeniowych?
- 13. Wieloetapowe porady dotyczące wdrażania?
- 14. Regex Performance Optimization Porady i wskazówki
- 15. Wskazówki dotyczące używania wtyczek jQuery i ich zależności
- 16. Najważniejsze wskazówki dotyczące tworzenia niestandardowych typów roszczeń
- 17. porady dotyczące architektury aplikacji asp.net mvc
- 18. Wskazówki dotyczące tworzenia przestrzeni działają jak karty w Visual Studio
- 19. Oswajanie bestii malloc/free - porady i wskazówki
- 20. Wskazówki dotyczące rozgałęzień i przewidywań
- 21. Wskazówki dotyczące testowania aplikacji intensywnie wykorzystującej dane:
- 22. Wskazówki dotyczące aplikacji Apple - prywatne interfejsy API?
- 23. Wskazówki dotyczące skalowania CEDETA
- 24. Zwykłe stare położenie obiektu z rubinami w szynach
- 25. Wzorce i porady dotyczące sprawdzania logiki biznesowej
- 26. Wskazówki dotyczące projektowania czystego interfejsu
- 27. Jakieś wskazówki dotyczące używania Ropevim? Czy to biblioteka użyteczna?
- 28. Jakie są niektóre wskazówki dotyczące wydajności podczas tworzenia aplikacji systemu Windows Phone 7?
- 29. Porady dotyczące pisania zwięzłej i eleganckiej Java
- 30. Czy są jakieś wskazówki/porady dotyczące korzystania z Subsonic z Asp.Net MVC Framework?
Podniosła odpowiedź, dzięki! Czy możesz podać więcej szczegółów na temat przeładowywanych Rinari i Emacs-rails? – aL3xa
Szczerze mówiąc, nie używam już reloadera emacs-rails. Nie był aktualizowany od 2009 roku i nie jestem nawet pewien, czy działa z nowszymi wersjami szyn. Ostatnio odkryłem, że Rinari to wszystko, czego potrzebuję, aby poruszać się po aplikacji szyny. – thermans