====== 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~~