VsCodeでGtkアプリ C#をデバッグするまで
前回の続き
必要なもの
マイクロソフト公式のC#拡張機能
デバッグ機能が利用できるようになります。
.NET Coreのための軽量な開発ツール。
シンタックスハイライト、インテリセンス、定義へ移動、すべての参照の検索など、優れたC#編集サポート。
.NET Core (CoreCLR)のデバッグをサポート。注:Monoデバッグはサポートされていません。デスクトップCLRのデバッグは限定的なサポートとなります。
Windows、macOS、Linuxのproject.jsonとcsprojのプロジェクトをサポートします。
launch.json
「実行とデバッグ」で生成できます。
.NET Core Launch (console)を選択します。
programのところをC#アプリまでのフルパスに書き換えます。
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dllファイルまでのパスを記入する",
"args": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"console": "internalConsole"
}
]
}
ビルドしたアプリ
事前にプロジェクトをビルドしアプリを生成しておきます。
フルパスをlaunch.jsonのprogramのところに書きます。
proxy環境が必要な場合
proxyが必要な環境で利用する時、VsCodeのnugetのバグでうまくビルドが動作しないことがあります。proxy設定はしているがnugetがうまく通らない場合はターミナル側でビルドやrestoreするとよいです。その後VSCodeで作業します
追記
パスを2行足すだけでアプリを毎回手動でビルドしなくても、自動でビルドした後にデバッグできるようになる
"program": "dllファイルまでのパスを記入",
"args": ["--project","プロジェクトファイルまでのパス"],
dllファイルまでのパスを記入。環境変数を確認 直接書いたほうが良い
argsに引数に--projetとprojectファイルまでのパスを2行足すだけでデバッグできることがわかりました。
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "dllファイルまでのパスを記入する",
"args": ["--project","プロジェクトファイルまでのパス"],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"console": "internalConsole"
}
]
}
流れ
Gtkプロジェクトを作成
拡張機能「vscode-solution-explorer」でソリューションを作成します。
拡張機能「vscode-solution-explorer」でGTKアプリプロジェクトを生成します。
launch.jsonを作成
「実行とデバッグ」「launch.jsonファイルを作成する」を押します。デバッカーの選択は「.net6 and .net core」を選びます。
launch.jsonの構成の追加は「.NET Core Launch (console)」を選択します。
launch.jsonの「program」にC#アプリのパスを記入します。
デバッグ
launch.jsonを作成すると「実行とデバッグ」からGTKアプリがデバッグできるようになります。
その2へ続く