MacのAtomでOmniSharpを使う
MacでC#をコンパイル、実行できるようにしたので、IntelliSenseが使えるようになるというOmniSharpをAtomに導入してみた。
OmniSharp is a family of Open Source projects, each with one goal: To enable a great .NET experience in YOUR editor of choice OmniSharp - .NET and IntelliSense on any platform with your editor of choice
VimやEmacsでも使える。特にVimはomnisharp atom
でGoogle検索するともしかして: omnisharp vim
と出てくるぐらいなので、かなり活発な感じ。
インストール
omnisharp-atom
Atomの設定画面から検索してインストールするか、apm
コマンドを使う。
$ apm install omnisharp-atom
Mono
公式のDownloadから.pkgファイルをダウンロードしてインストールする。
Homebrewでもインストール可能。
$ brew install mono
dnvm
omnisharp-atomの説明だとオプションのようにも読めるが、dnvm
のインストールも必要。
If you want to work on a DNX application then you will also need to have dnvm installed. omnisharp-atom
DNX
は".NET Execution Environment"で、dnvm
は".NET Version Manager"の意味。aspnet/Homeに導入方法が書いてある。
Homebrewでdnvm
をインストールする。
$ brew tap aspnet/dnx
$ brew update
$ brew install dnvm
~/.bash_profile
に以下を追記。
source dnvm.sh
以下のコマンドで.bash_profile
を再読み込みして反映させる。
$ source ~/.bash_profile
dnvm
コマンドでエラーが無ければOK。
$ dnvm
dnvm
(.NET Version Manager)が準備出来たので、DNX
をダウンロードする。
$ dnvm upgrade
dnvm list
で確認する。
$ dnvm list
Active Version Runtime Arch OperatingSystem Alias
------ ------- ------- ---- --------------- -----
* 1.0.0-beta6 mono linux/darwin default
使い方
.cs
ファイルを開くと、エディタ部分の左下隅のマークが緑色になりサーバーが起動する。
この状態だとまだプロジェクトとして認識されていない。緑色マークの右側に青文字で0 Projects
と表示されているはず。
とりあえず中身は{}
だけでいいので、同じフォルダにproject.json
を作成して保存すると、project.lock.json
というファイルが自動的に生成される。
同時にサーバーがリスタートしてプロジェクトとして認識される。リスタートされない場合は、青文字の0 Projects
をクリックしてRestart
ボタンをクリックすればリスタートできる。
1 Projects
になればOKで、補間などIntelliSenseの機能が使えるようになる。cmd
押しながらクリックで定義に飛べたり、コードの文脈に沿った補間やリネームが可能。
project.json
、project.lock.json
に関しては以下に情報が記載されているがまだちゃんと読んでない。
ひな形作成
コマンドパレットからOmnisharp Atom:New Application
でひな形を作成出来る。Web Application
やConsole Application
などがある。