2010-03-11 9 views
27

सर्वोत्तम मोड, कॉन्फ़िगरेशन सेटिंग्स या कुछ भी जो इमेक्स में रेल ऐप पर रूबी विकसित करने के लिए बेहतर बनाता है।रेल ऐप पर रूबी विकसित करने के लिए एमएक्स का उपयोग करने के लिए टिप्स और चाल

उत्तर

28

आपको सभी आरओआर का प्रयास करना चाहिए और आपको सबसे अच्छा पसंद करना चाहिए।

सबसे पहले आपको ईसीबी, रूबी-मोड, एमएक्स-रेल और कुछ अन्य सामानों का उपयोग करके मार्शल वंदेग्रीफ्ट के excellent screencast को देखना चाहिए। यह आपको एक अच्छा अनुभव देता है कि Emacs पर RoR कितना अच्छा लेखन हो सकता है।

संक्षेप में यहां मोड में से कुछ आप का प्रयास करना चाहिए रहे हैं:

  • Rinari - अपने कोड के आसपास हो रही परीक्षण चल रहा है, और प्रबंध कंसोल, वेब सर्वर, आदि के लिए एक सरल ढांचे यह न्यूनतम है और घूमती है कुंजी-बाइंडिंग की एक श्रृंखला के आसपास।
  • Emacs-rails - Emacs RoR मोड के दादा। इसे थोड़ी देर में अपडेट नहीं किया गया है, और वास्तव में प्राथमिक होमपेज अब मौजूद नहीं है। लेकिन यह काफी शक्तिशाली है और आपको लगभग हर चीज करने देता है।
  • Emacs-rails-reloaded - यह मूल emacs-rails का एक पुन: डिज़ाइन है, मैं उसी आदमी द्वारा विश्वास करता हूं। यह चीजों को ढूंढने और घूमने में आपकी सहायता के लिए महान anything मोड का उपयोग करता है। मैं वर्तमान में इस और रिनारी का उपयोग कर रहा हूं। - Emacs कोड ब्राउज़र

    यहाँ कुछ अन्य साधनों कि उपयोगी होते हैं कर रहे हैं। प्रोजेक्ट प्रबंधन के लिए इसका इस्तेमाल करें, और अपने कोड के आसपास हो रही है।

  • Yasnippet - सभी प्रकार के उपयोगी स्निपेट प्रदान करता है, स्वचालित रूप से टैब कुंजी के साथ डाला जाता है।
  • Nxhtml - संपादन rhtml, ERB, आदि

अधिक मोड के लिए आप प्रयास कर सकते हैं:

  • Ri - री प्रलेखन इनलाइन को देखने के लिए।
  • Flymake-ruby - फ्लाई सिंटैक्स जांच पर।
  • Ri - देखने री प्रलेखन

ओह के लिए और निश्चित रूप से आप गहरे लाल रंग का मोड है, जो गहरे लाल रंग का स्रोत के साथ आता है, और खुद Matz द्वारा किया जाता है की जरूरत है।

आशा इस मदद करता है

+0

शानदार उत्तर, धन्यवाद! क्या आप कृपया कुछ और विवरण प्रदान कर सकते हैं कि कैसे रिनारी और एमाक्स-रेल-रीलोडेड एक साथ खेलते हैं? – aL3xa

+0

ईमानदार होने के लिए मैं अब emacs-rails-reloaded का उपयोग नहीं करता हूं। इसे 200 9 से अपडेट नहीं किया गया है और मुझे यह भी यकीन नहीं है कि यह रेल के नए संस्करणों के साथ काम करता है। हाल ही में मैंने पाया है कि रिनारी मुझे रेलवे ऐप पर नेविगेट करने की ज़रूरत है। – thermans

5

rspec-mode

js2-mode (जावास्क्रिप्ट वाक्य रचना हाइलाइटिंग)

ido (आसानी से एक या कई चश्मा चलाने) (फ़ाइलें/अपनी परियोजना में बफ़र्स सुपर जल्दी से)

3

चूंकि मैं रेल (और emacs) के लिए नया हूँ, मैं तुरंत रिनारी का उपयोग नहीं करना चाहता। मुझे लगता है कि यदि कोई उपकरण मेरे लिए बहुत अधिक जादू करता है तो मैं जितनी जल्दी चाहूं विवरण नहीं सीखता। मुझे लगता है कि मैं अंततः इसका उपयोग करूंगा।अभी के लिए, हालांकि, मैंने शैल का एक गुच्छा स्थापित किया है जो मैं रेल 3 के लिए emacs में उगता हूं और बस मेरे काम करने के लिए उनके बीच स्विच करता हूं। मैं उन्हें टीएमआर के साथ उपसर्ग करता हूं ताकि मैं उन्हें आसानी से ढूंढ सकूं।

(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

एक और मोड है कि मैं उपयोगी पाते हैं कि उल्लेख नहीं किया गया है web-mode है। यह विचार लिखने के लिए उपयोगी है, और html.erb फ़ाइलों को बहुत अच्छी तरह से संभालता है। इसमें अन्य चीजों के साथ वाक्यविन्यास हाइलाइटिंग और टैग पूर्णता शामिल है। आप इसे here पर पा सकते हैं।

संबंधित मुद्दे