Caution
2024年8月一杯でVisual Studio for Macの提供が廃止されることとなった.それにともない,今年は Visual Studio Code上でC# Dev KitおよびIonide for F# を用いた環境構築法を紹介することとする.Visual Studio を使いたい人は昨年度の環境構築法を参照されたし.
C#演習第5・6回課題ではクロスプラットフォームGUIフレームワークEto.Formsを用いるので,その環境をセットアップする.具体的な手順は「コマンドライン環境の設定」を行った後,VSCode上で動作確認を行う.
また,GTK用アプリケーションを作成したい人はGTKのインストールを参照する(現状Mac環境のみ記載.Windows環境は情報収集中).
コマンドライン環境の設定
ターミナル(WindowsだとPowerShell,Macだと"Terminal"や"iTerm2"など.VSCode内のターミナルでもよい)上で以下を実行する.
以下のコマンドを実行する(設定自体はこれで終わり).
dotnet new install "Eto.Forms.Templates::*"
Note
2.8.0〜2.8.2にはテンプレートがコンパイルできないという不具合があるので,以前にテンプレートをインストールした人は上記によりテンプレートを更新する.
(Macの場合のみ)これまでにインストール済でなければ,以下のコマンドを実行してXcode command line toolsをインストールする.
xcode-select --install
いままでにXcodeをインストールしてなければ数GBほどのダウンロードが発生する.
確認のために以下を実行してみる.
dotnet new list eto
Note
dotnet
のバージョンによっては,dotnet new -l eto
やdotnet new eto -l
のように書かなけれならないかもしれない.たとえば,以下のように表示されるはず.
これらのテンプレートは、入力: 'eto' と一致しました テンプレート名 短い名前 言語 タグ ------------------------- -------- ---------- ------------------ Eto Application etoapp [C#],F#,VB Cross Platform/Eto Eto Panel, Dialog or Form etofile [C#],F#,VB Cross Platform/Eto
動作確認
Eto.Formsプロジェクトを作成し,VSCodeで開く.以下は「VSCodeでフォルダを開いた後に,VSCode内のターミナルからプロジェクト/ソリューションを作成する」流れを紹介しているが,環境構築1で紹介した通り「ターミナルで予めプロジェクト/ソリューションを作成し,その後VSCodeでソリューションを開く」を行ってもよい.
適当なフォルダ(
HelloEto
とする)を作成し,VSCodeでそのフォルダを開く.VSCode上のターミナル(メニューバーより「表示」→「ターミナル」あるいはJapanese Language Packを入れていないなら"View"→"Terminal")を開き,以下のコマンドを実行する.
-sln
は不要だが,どうせC# Dev Kitが生成することになる.dotnet new etoapp -sln
その後
ls -F
(Windowsだとdir
)してみると以下のようなフォルダおよびファイルが生成されたのがわかる(Windowsだと表示は異なるが作成されるフォルダ・ファイルは同じ).$ ls -F HelloEto/ HelloEto.Gtk/ HelloEto.Mac/ HelloEto.Wpf/ HelloEto.sln
ビルドおよび実行してみる.
Windowsの場合は
HelloEto.Wpf
以下のProgram.cs
,Macの場合はHelloEto.Mac
以下のProgram.cs
を開き(サイドバーからファイルを選択する), エディタ右上(アクティビティーバーにあるアイコンではない)の「再生ボタンの右下に虫がついたアイコン」(デバッグ実行を表す)をクリックする.あるいは,VSCode上のターミナルから,Windowsの場合は
dotnet run --project HelloEto.Wpf
を,Macの場合は
(cd HelloEto.Mac && dotnet run)
を実行することでプログラムを通常実行する(
dotnet run --project HelloEto.Mac
では実行に失敗する).はたまた,「実行とデバッグ」あるいは
F5
キーで(デバッグ)実行する場合は,やはり「デバッガーの選択」や「起動構成の選択」等について聞かれる.最初の質問には「C#」と回答したのでよいが,二個目の質問にはWindowsの場合は「HelloEto.Wpf」,Macの場合は「HelloEto.Mac」と回答する.GTKのインストールを行っていれば「HelloEto.Gtk」を選んでもよい.いずれの場合もビルドは自動的に行われる.
Note
Mac環境だと
....Wpf
プロジェクトはビルドできない.Win環境だと....Mac
はビルドできるが実行できない.- Windowsの場合の挙動
しばらく待つと以下のようなウィンドウが表示される.
「Click Me!」の部分をクリックするとダイアログが表示される.
実行を停止するには,上記ウィンドウの×ボタンを押せばよい.また,VSCodeの画面上部にデバッグ実行を制御するためのUIが表示されているので,□の形の停止っぽいボタンを押してもよい.
- Macの場合の挙動
しばらく待つと以下のようなウィンドウが表示される.
ツールバー上のボタン「Click Me!」は初期ウィンドウサイズだと隠れてしまっている.拡張して表示しよう.
「Click Me!」の上の部分にマウスポインタを持ってくると,色が変わる部分があるのでそこをクリックするとダイアログが表示される.
- 「Click Me!」自体はクリックできない.
デバッグ実行だと,Command + Qをを押したりメニューからQuitを選択したりしてもデバッグ実行自体は終了しない. VSCodeの画面上部にデバッグ実行を制御するためのUIが表示されているので,□の形の停止っぽいボタンを押す.
dotnet run
等でデバッグ実行でなく通常の実行を行った場合は,Command + Q を押すか,メニューからQuitを選択してプログラムを終了することができる.Important
ウィンドウ左上の閉じるボタンはプログラムを終了させない.この挙動はMacの一般的なアプリケーションプログラムと同様である.
- Windowsの場合の挙動
GTKのインストール
オプショナル.
Windows環境については情報収集中.
Mac
遅かれ早かれbrew
は入れることになると思うので,そう手間は大きくないはず.
- Homebrewをトップページに書いてあることに従いインストールする.
- ターミナルから
brew install gtk+3
を実行するbrew update
も必要かもしれない