Emacs/MeadowにC#モードをいれてみる

C#編集モードのファイルを入手する

CsModeXX.zip
Emacs Tools


CsModeだけでもOKだが、さらにカラフル?に表示したい時は、下記のページからcsharp-mode.elも入手する
http://davh.dk/script/

今現在サイトに繋がらないので、コピーを用意。
こちらからどうぞ。


csharp-mode.elはCsModeXX.zipなしの状態では動かなかった。
なにか間違えてたんだろうか。

ファイルを置く

  • CsModeXX.zip: 解凍して、site-lispフォルダに全elファイルをコピーする
  • csharp-mode.el: site-lispフォルダにコピーする

site-lispの位置

  • Meadow: インストールフォルダの直下
  • emacs22: うちの環境の場合
/usr/local/share/emacs/22.1/site-lisp

設定

.emacsに以下を追記する

;; C# mode
(add-hook 'csharp-mode-hook (lambda ()
                              (setq c-basic-offset 4
                                    tab-width 4
                                    indent-tabs-mode nil)))
(add-hook 'java-mode-hook (lambda () (setq tab-width 4)))
(autoload 'csharp-mode "csharp-mode" "C# editing mode." t)
(setq auto-mode-alist
    (append '(
        ("\\.s?html?\\'" . html-helper-mode)
        ("\\.asp$" . html-helper-mode)
        ("\\.as[phm]x$" . html-helper-mode)
        ("\\.html$" . html-helper-mode)
        ("\\.htm$" . html-helper-mode)
                    ("\\.md$" . emacs-lisp-mode)
        ("\\.txt$" . text-mode)
        ("\\.cs$" . csharp-mode)
    ) auto-mode-alist ))

;; Set Default Compiler Command
(setq-default compile-command "mcs ")
;(setq-default compile-command "csc ") ;Meadow用

;; Set Key
(global-set-key "\C-x\c" 'compile)

コンパイラのデフォルト値と呼び出しキーの設定はお好みで。

以上で設定終了。C#のコードが見やすくなります。


参考:Life with Cygwin 11


追記 2007/01/03

C#2.0の場合は、コンパイラが異なる。
mcsではなく、gmcsを使用するため、デフォルトコンパイラの部分を変更。

(setq-default compile-command "gmcs ")