basyura's blog

あしたになったらほんきだす。

IDE が無くても C# が書けるんだよ

ちょっと動作確認したいだけなのに、スクリプトライクに軽い感じで書きたいだけなのに、、、Visual Studio や Visual Web Developer とか糞重いの入れるの嫌だーーーーー。
と思ってたら案外簡単だった。ただし、GUI はまだ良く分かってない。

.Net Framework を入れる

windows update で OK

パスを通す

バージョンごとのフォルダができる

C:
└ Windows
   └ Microsoft.NET
      └ Framework
         ├ v1.0.3705
         ├ v1.1.4322
         ├ v2.0.50727
         ├ v3.0
         ├ v3.5
         └ v4.0.30319

ここに csc.exe が有る(v1には無かった)ので、パスを通す。最新であれば V4 の フォルダをパスに通す。

ソースを書く

hello.cs

using System;

class Class1 {
    static void Main(string[] args) {
        Console.WriteLine("hello world");
    }
}

コンパイルする

cmd.exe なりを立ち上げてコンパイル(僕は cygwin でパスを通して使ってます)。

csc hello.cs

hello.exe ができる

実行する

> hello.exe
hello world

Mac でも c# が書けるんだよ

mono で書ける。

Mono(モノ)は、GNOMEプロジェクト創設者のミゲル・デ・イカザが開発した、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースソフトウェア群、またそのプロジェクト名である。
Monoはマルチプラットフォームであり、Linux、FreeBSD、UNIX、Mac OS X、Solaris、Windowsで動作する。

mono

公式サイト からダウンロードしてインストール。

コンパイル

cs hello.cs

実行

mono hello.exe

もっと手軽に書きたいので vim で quickrun

https://gist.github.com/675234

丸パクリの設定(vimrc)。

if has('mac')
  let g:quickrun_config['cs'] = {
        \ 'command' : 'cs',
        \ 'runmode' : 'simple',
        \ 'exec' : ['%c %s > /dev/null', 'mono "%S:p:r:gs?/?\\?.exe" %a', ':call delete("%S:p:r.exe")'],
        \ 'tempfile' : '{tempname()}.cs',
        \ }
else
  let g:quickrun_config['cs'] = {
        \ 'command' : 'csc',
        \ 'runmode' : 'simple',
        \ 'exec' : ['%c /nologo %s:gs?/?\\? > /dev/null', '"%S:p:r:gs?/?\\?.exe" %a', ':call delete("%S:p:r.exe")'],
        \ 'tempfile' : '{tempname()}.cs',
        \ }
endif

あとはコードを書いて実行するだけ。らくちん。
windows 環境変数へのセットがめんどくさい場合は、vimrc で。

let $PATH='c:/Windows/Microsoft.NET/Framework/v4.0.30319/;' . $PATH


後はメソッドの大文字始まりをどうにか(ry