2011-06-01 68 views
4

我碰巧知道單聲道的CSharpRepl,有沒有emacs csharp模式,用它在一個窗口中運行REPL,並在python模式下編譯/運行其他窗口中的C#代碼?CSharpRepl emacs集成?

+0

我從來沒有聽說過這樣的事情。您可以查看SLIME項目,因爲它非常相似。 – 2011-06-01 22:22:48

回答

2

您可以創建一個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

略微增加了接受的答案。如果存在緩衝區,則顯示現有的緩衝區。

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