我碰巧知道mono的CSharpRepl,是否有emacs csharp模式使用它在一个窗口中运行REPL,并在另一个窗口中编译/运行C#代码就像python模式一样?
答案 0 :(得分:3)
您可以创建一个lisp函数来调用CSharpRepl并在您处理C#代码时分配一个键来调用它。例如,您可以将以下内容放在Emacs init文件中(假设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#代码。
答案 1 :(得分: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)