====== Emacs 24.3 + omnisharp-emacsで快適C#生活 ======
{{ :emacs:emacs_omnisharp_code_completion.png |}}
===== 試した環境 =====
* OS X Mountain Lion v10.8.5
* Cocoa Emacs 24.3.1 + IMEパッチ ([[http://sourceforge.jp/projects/macemacsjp/downloads/58470/|Emacs-24.3-with-inline-patch-R1]])
* Mono 3.2.5
* csharp-mode (Version: 20130824.1200)
* [[https://github.com/nosami/Omnisharp|OmniSharp]] (commit c7de3575d1d20dde0e8d8423c817641531bc1f94)
* [[https://github.com/sp3ctum/omnisharp-emacs|omnisharp-emacs]] (Version: 20131203.647)
===== インストール =====
==== OmniSharpのビルド ====
基本的にOmniSharpサイトに書いてある事をそのまま実行するだけ。
.emacs.d/pluginに置く事にする。
cd ~/.emacs.d
mkdir plugin; cd plugin
git clone https://github.com/nosami/Omnisharp.git
cd Omnisharp
git submodule update --init
cd server
xbuild /p:Platform="Any CPU"
OmniSharp/server/OmniSharp/bin/Debug/OmniSharp.exeが生成されてれば成功
==== Emacsの設定 ====
MELPAからcsharp-modeとomnisharp-emacs (MELPA上の表記はomnisharp)をインストールする。
init.elを編集
(require 'csharp-mode)
(add-hook 'csharp-mode-hook 'omnisharp-mode)
==== 使う ====
OmniSharpサーバを起動
mono ~/.emacs.d/plugin/OmniSharp/server/OmniSharp/bin/Debug/OmniSharp.exe -s /path/to/project.sln
EmacsでC#のソースを開き、補完したいところでM-x omnisharp-auto-completeを実行すれば、候補が出てくる!超便利!!
^omnisharp-auto-complete|補完候補を表示|
^omnisharp-build-in-emacs|Emacs内でビルド (M-x compileでも可)|
^omnisharp-go-to-definition|定義へジャンプ|
omnisharpで関数候補を表示すれば、名前から何してるかは大体想像出来ると思います。
適当にキーを割り当てれば脳汁出まくり間違いなし。
===== TODO =====
* ピリオドを打ったときに補完候補が出るようにしたい。
* flycheckが機能してないので動くようにしたい。
* OmniSharpサーバの起動をもう少しお手軽にしたい。
* csharp-modeのキーバインド設定が効かないので要調査。
~~DISCUSSION~~