سؤال

بالنسبة لأولئك الذين لم يستخدموا DrScheme، تنقسم النافذة إلى قسمين:جزء واحد عبارة عن ملف تقوم بتحريره، والآخر عبارة عن غلاف تفاعلي.عندما أقوم بتشغيل ملف، يتم تحميله في بيئة تفاعلية، حتى أتمكن من استدعاء الوظائف التي حددتها وما إلى ذلك.لا تزال البيئة التفاعلية تتمتع بجميع ميزات محرر النصوص (تمييز بناء الجملة، والإكمال التلقائي، وما إلى ذلك...)

فهل هناك بيئة تطوير متكاملة (IDE) لروبي لا تقوم فقط بتنفيذ البرنامج النصي الذي أقوم بإنشائه، بل تقوم بتحميله إلى irb بدلاً من ذلك، مع جميع ميزات محرر النصوص؟

هل كانت مفيدة؟

المحلول

هذا الطلب الدقيق (حتى لو كان Dr Scheme هو الذي حفزه) هو ما دفعني أخيرًا لتعلم Emacs.

إليك ما فعلته لتثبيته ضمن نظام التشغيل Windows Vista:

  1. تحميل برنامج ايماكس من http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip

  2. قم بفك ضغطه إلى الدليل الذي تختاره

  3. بعد فك الضغط قم بإنشاء يشمل الدليل في أي مكان تريده ونسخه هناك روبي-mode.el و روبي-inf.el (تأتي هذه مع توزيع Ruby ضمن دليل Misc ويمكن تنزيلها أيضًا من مصدر روبي

  4. تعديل الخاص بك .emacs لإخباره بمكان العثور على التضمينات الخاصة بك واستخدامها

; directory to put various el files into
(add-to-list 'load-path "C:/emacs-22.3/includes")
;(1)modify .emacs to use ruby-mode 
(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files" t)
(setq auto-mode-alist
      (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                              interpreter-mode-alist))
;(2)set to load inf-ruby and set inf-ruby key definition in ruby-mode. 

(autoload 'run-ruby "inf-ruby"
  "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
  "Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook
      '(lambda ()
         (inf-ruby-keys)
))

(اختياري) لقد قمت أيضًا بالتثبيت mode-compile.el من http://perso.tls.cena.fr/boubaker/distrib/mode-compile.el وأجريت التعديلات المقابلة في .emacs

; Install mode-compile
(autoload 'mode-compile "mode-compile"
   "Compile current buffer based on the major mode" t)
(global-set-key "C-cc" 'mode-compile)
(autoload 'mode-compile-kill "mode-compile"
 "Kill compilation launched by `mode-compile'" t)
(global-set-key "C-ck" 'mode-compile-kill)

مع هذه التغييرات، سيقوم Emacs تلقائيًا بتعريف ملف .rb على أنه روبي ويقوم بتمييز بناء الجملة.ثم باستخدام الوتر \C-c\C-s (Control-c، Release ثم Control-s) سيبدأ irb في المربع الموجود أسفل الملف الخاص بك، ويمكنك استخدام جميع المفاتيح المحددة بواسطة inf-Ruby:(\M هو مفتاح التعريف الذي يعني في نظام التشغيل Windows Alt)

  "\C-c\C-b" 'ruby-send-block
  "\C-c\M-b" 'ruby-send-block-and-go
  "\C-c\C-x" 'ruby-send-definition
  "\C-c\M-x" 'ruby-send-definition-and-go
  "\C-c\C-r" 'ruby-send-region
  "\C-c\M-r" 'ruby-send-region-and-go
  "\C-c\C-z" 'switch-to-ruby
  "\C-c\C-l" 'ruby-load-file
  "\C-c\C-s" 'run-ruby

إذا قمت بالخطوة الاختيارية وقمت بتثبيت mode-compile، فيمكنك أيضًا استخدام ‎\C-cc لإرسال الملف الحالي إلى Ruby بدلاً من irb

نصائح أخرى

وأنا لم تكن قد عملت مع DrScheme بعد، ولكن نتبيانس 6.5 يتضمن IRB كامل المواصفات. هل أعطيت هو محاولة؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top