落ちてくだけのゲーム

30過ぎると踊っても笑っても勝てないことに気付く

Sublime Text 3でC#のインテリセンス使う「Windows」

Sublime Text 3からC#コンパイルするようにしてみる。

 

WindowsだからVisual Studioを使えば良い話なんですが。

そろそろMacが欲しくなってきたのでVisual StudioもいいけどエディタでC#開発してみたいなぁと思う。

Monacoを使えばブラウザ上で開発できるらしいけどクレジットカードの入力が合ったので少し気が引けました。

Sublime Text 3をつかってC#の開発環境を構築していく。

とりあえずWindows編とLinux編を作る。

 

ここの記事を見ながらやりました。

http://blog.jonathanchannon.com/2014/11/12/csharp-first-class-citizen-sublime-text/

 

 

Windows

 ※前提として.NET Frameworkがインストールされていることとします。

 

Sublime Text 3をダウンロード及びインストール

http://www.sublimetext.com/3

Windows 64 bit - also available as a portable version

Windows 7 64bitなので上記のをダウンロードする。

全てデフォルトでインストール。

 

Sublime Text 3 に必要なパッケージを入れていく

まずはPackage Controlのインストールを行う。

Sublime Textのプラグインはパッケージというもので管理していて

パッケージを管理するプラグインのインストールをするらしい。

1.下記のURLへ行きテキストをコピーする。

https://sublime.wbond.net/installation#Manual_Instructions

Sublime Text 3の方の文字をコピーする。

 

2.Sublime Text 3を開き「Ctrl + '(バッククォート)」を押下

コンソールが開くので1.でコピーしたテキストを貼り付けEnter

 

3.一度Sublime Text 3を閉じてもう一回起動。

 

4.「Ctrl + Shift + P」を押下してPackage Controlが開くことを確認。

 

5.C#で使うパッケージを入れていく。

 

①「Ctrl + Shift + P」を押下してPackage Controlが開く

②Package と入力すると「Package Control: Install Package」というパッケージをダウンロードしてインストールするプラグインがいるのでクリックなり選択して押下。

f:id:since20140105:20150329230526p:plain

 

③今度はダウンロード、インストールするパッケージ選択が出てくるので「C#」と打てば下記のように絞れる。 

f:id:since20140105:20150329230557p:plain

C# Snippets

スニペット機能詳しくはググって・・・

C# Complie & Run

コンパイルして実行・・詳しくはググって・・・

「Ctrl + Shift + B」でコンパイルと実行が出るのでコンパイルした後実行する

※実行だけではコンパイルはしてくれないみたい・・・

次に「OmniSharp」と入力して「OmniSharp」をインストールする。

・OmniSharp

インテリセンス機能や逐次で警告とかを出してくれるVisualStudioの代わりをしてくれるありがたいパッケージ、詳しくはググって・・・

f:id:since20140105:20150329230651p:plain

 

押下していったらインストールが始まる下の箇所に小さく完了が出る

f:id:since20140105:20150329230713p:plain

Pythonをインストールする。

これも普通にPythonのページに行って自分のOSと同じバージョンをインストールする。

https://www.python.org/

Downloads > Download Python 3.4.3

 

インストールは全部デフォルトにしました。

 

次にPythonのインストールフォルダをWindowsのPATHに追記する。

私の場合、環境変数の「PATH」に「C:\Python34」を追加

 

csc.exeのパスをWindowsのPATHに追記する。

※OmniSharpとは関係ないみたい。C# Complie & Runの実行をするとcsc.exeを呼び出しているため、C# Complie & Runを使わなければ必要ないです。

csc.exeはC#コンパイラWindowsだったら.net Frameworkがインストールされていれば入るはず・・・

私の場合、「C:\Windows\Microsoft.NET\Framework64\v4.0.30319」にありました。ので環境変数の「PATH」に追加。

 

 

・monoを入れる

C#オープンソースコンパイラ

http://www.mono-project.com/

Download > Windows > GTK# for .NET

GTK# for .NETをダウンロードしてインストール(これもデフォルトです)

 

・環境を設定する

http://blog.jonathanchannon.com/2014/11/12/csharp-first-class-citizen-sublime-text/

に書いてある通りに基本的にしていくのだけどここで大問題が発生.sln(ソリューション)ファイルが必要らしい・・・

なのでVisual StudioMonoDevelopってIDEが必要になってくる。

幸いにもMonoDevelopは主用なOSのはあるみたい

http://www.monodevelop.com/download/

Mac OS X  = Xamarin Studio

Windows = Xamarin Studio または Visual Studio

Linux = Xamarin Studio

1.適当にソリューションファイルを作成する。

f:id:since20140105:20150329230802p:plain

 

2.Sublime Text 3を立ち上げ File> OpenFolderを選択して上記の.slnファイルがあるフォルダを選択する。

f:id:since20140105:20150329230821p:plain

 

3.Sublime Text 3 のプロジェクトを作成する。

Proect > Save Project As を選択

プロジェクトファイルを保存する、場所は.slnと同じ場所にする。

名前は適当に。

f:id:since20140105:20150329230847p:plain

 

4.Sublime Text 3のプロジェクトの内容変更

左側のフォルダに3で作ったプロジェクトファイルがあるので開く。

f:id:since20140105:20150329230927p:plain

{

    "folders":

    [

        {

            "follow_symlinks": true,

            "path": "."

        }

    ],

    "solution_file": "./testConsole.sln"

}

 

全選択して上記のテキストをコピーして貼り付ける

「"./testConsole.sln"」の箇所はさっき作ったソリューション名にする。

そして保存。

f:id:since20140105:20150329231022p:plain

 

5.ユーザの構文の設定を行う。

FOLDERSのツリーからソリューションの中にあるC#のファイル(.cs)を選択して開き

Preferences > Settings - More > Syntax Specific - User

を選択するとC#.sublime-settingsというファイルが開かれるので下記の文をコピーして貼り付ける

{

    "auto_complete": true,

    "auto_complete_selector": "source - comment",

    "auto_complete_triggers": [ {"selector": "source.cs", "characters": ".<"} ],

}

f:id:since20140105:20150329231100p:plain

 

 

以上で設定が終わりです。

 

あとはインテリセンスで遊んだり、

「Ctrl + Shift + B」でコンパイルして実行したりして遊ぶ。

 

問題点はスニペットとインテリセンスが競合してスニペット使いたいのにインテリセンスが発動してしまう・・・

 

回避方法あるのかもしれないけどまだ未調査。

 

次はLubuntuでインストールする。

 出来なかった・・・

monoをいれたり

Xamarinのパッケージ入れたり

したのだけど上手くいかなかった・・・

omnisharp-serverが上手く動作していないのかな・・・

とりあえずXamarinは使えるからそっちで開発します。