CSharpRepl Emacs интеграции? - PullRequest
4 голосов
/ 02 июня 2011

Я знаю, что у моно CSharpRepl есть ли режим emacs csharp, который использует его для запуска REPL в одном окне, а также для компиляции / запуска кода C # в другом окне, как в режиме Python?

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

Вы можете просто создать функцию lisp для вызова CSharpRepl и назначить клавишу для ее вызова, когда вы работаете над кодом C #.Например, вы можете поместить в файл инициализации Emacs следующее (при условии, что исполняемый файл CSharpRepl «csharp» находится в вашей переменной PATH):

(defun csharp-repl ()
  "Open a new side-by-side window and start CSharpRepl in it."
  (interactive)
  (split-window-side-by-side)
  (other-window 1)
  (comint-run "csharp"))

(global-set-key [f11] 'csharp-repl)

Итак, если вы редактируете программу на C # (используя любой режимвы предпочитаете), теперь вы можете нажать F11, и CSharpRepl откроется в новом окне, чтобы вы могли в интерактивном режиме оценить код C #.

2 голосов
/ 13 июля 2013

Небольшое дополнение к принятому ответу.Вызывает существующий буфер, если он существует.

(defun csharp-repl ()
  "Switch to the CSharpRepl buffer, creating it if necessary."
  (interactive)
  (let ((buf (get-buffer "*csharp*")))
    (if buf
        (pop-to-buffer buf)
        (progn
          (split-window)
          (other-window 1)
          (comint-run "csharp")))))

(define-key csharp-mode-map (kbd "C-c C-z") 'csharp-repl)
...