C# CSharprep emacs集成?

C# CSharprep emacs集成?,c#,emacs,mono,read-eval-print-loop,C#,Emacs,Mono,Read Eval Print Loop,我碰巧知道mono,是否有emacs csharp模式可以在一个窗口中运行REPL,并在另一个窗口中像python模式一样编译/运行C代码?您可以创建一个lisp函数来调用CSharprep,并在处理C代码时分配一个键来调用它。例如,您可以将以下内容放在Emacs init文件中(假设CSharpRepl可执行文件“csharp”在您的路径中): 因此,如果您正在编辑一个C#程序(使用您喜欢的任何模式),现在可以按F11键,CSharpRepl将在一个新窗口中打开,这样您就可以以交互方式计算C#

我碰巧知道mono,是否有emacs csharp模式可以在一个窗口中运行REPL,并在另一个窗口中像python模式一样编译/运行C代码?

您可以创建一个lisp函数来调用CSharprep,并在处理C代码时分配一个键来调用它。例如,您可以将以下内容放在Emacs init文件中(假设CSharpRepl可执行文件“csharp”在您的路径中):


因此,如果您正在编辑一个C#程序(使用您喜欢的任何模式),现在可以按F11键,CSharpRepl将在一个新窗口中打开,这样您就可以以交互方式计算C#代码。

这是对已接受答案的轻微补充。调出现有缓冲区(如果存在)

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

我从未听说过这样的事。你可以研究SLIME项目,因为这是相当相似的。
(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)