2010-03-11 10 views

Odpowiedz

28

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

+0

Podniosła odpowiedź, dzięki! Czy możesz podać więcej szczegółów na temat przeładowywanych Rinari i Emacs-rails? – aL3xa

+0

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

5

rspec-mode (uruchomienie jednego lub wielu specyfikacje łatwo)

js2-mode (JavaScript podświetlanie składni)

ido (Znajdź pliki/bufory w projekcie bardzo szybko)

3

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

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.

Powiązane problemy