知人がC#をやり始めて、教えてくれと言われたのでとりあえず開発環境を整えてみた。
環境
- M1 MacBookAir
- Neovim >= 0.5
brew install monoができない
arm版だとダメ的な問題でエラーが出てインストールできないので、Visual Studioから引っ張ってくるやり方でいく。
1. Visual Studio for Macをインストール
https://visualstudio.microsoft.com/ja/vs/mac/
実際にVisual Studioを使うわけではない。インストールするとc#のコンパイルに必要なmcs
と、実行に必要なmono
のbinが手に入る。
2. aliasを貼る
c#のコンパイルのためにmcs
、実行のためのmono
のaliasを貼る
ln -s /Library/Frameworks/Mono.framework/Versions/Current/bin/mcs /usr/local/bin ln -s /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /usr/local/bin
3. コンパイルして実行してみる
Sample.cs
using System; namespace sample { class Program { static void Main(string[] args) { Console.WriteLine("Hello!"); } } }
コンパイル&実行
# コンパイル mcs Sample.cs # Sample.exeが生成される # 実行 mono Sample.exe # Hello!
コンパイルと実行を一括でやってくれる関数を作っておくと便利
.zshrc
# c#ファイル(.cs)をコンパイルして実行 # ln -s /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /usr/local/bin # ln -s /Library/Frameworks/Mono.framework/Versions/Current/bin/mcs /usr/local/bin # をあらかじめ実行していること alias ms='_mcs_and_mono' _mcs_and_mono() { local fileName=${1/\.*/} mcs $1 mono ${fileName}.exe }
使い方
ms Sample.cs
# Hello!
4. Vimのquickrunで実行する
mcs
, mono
のaliasを貼った時点で、特になんの設定もなくquickrunで.cs
ファイルの実行ができるようになっているはず。
一応quickrunの設定を載せておく
let g:quickrun_config={ \'_': { \ 'split': '' \}, \} set splitbelow " \rで保存して実行、画面分割を下に出す nnoremap \r :cclose<CR>:write<CR>:QuickRun -mode n<CR> xnoremap \r :<C-U>cclose<CR>:write<CR>gv:QuickRun -mode v<CR>