🚶♀️
.NET Core+F# プロジェクトの VS Code デバッグ設定
C# Dev Kit for Visual Studio Codeはdotnet newで作成したプロジェクトの初回Debug実行時に自動でlanuch.json, tasks.jsonを'.NET: Generate Assets for Build and Debug'で生成してくれるが、F#のプロジェクトはサポートしていません(検知に失敗する)。
Visual Studio 2022やRiderユーザーは気にしなくても自動で設定してくれるので、VS Code+F#の組み合わせで使っている人だけがビルド設定を手動で追加する作業が必要になります。
❯ dotnet new create console -lang 'F#' -o MyConsoleApp
❯ cd MyConsoleApp
❯ dotnet run
Hello from F#
❯ code .
次に、VS Codeでプロジェクトを開き、以下の手順でビルドとデバッグの設定を行います。
-
.vscode/tasks.json
ファイルを作成し、以下の内容を追加します。{ "version": "2.0.0", "tasks": [ { "label": "build", "command": "dotnet", "type": "process", "args": [ "build", "${workspaceFolder}/MyConsoleApp.fsproj", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary;ForceNoAlign" ], "problemMatcher": "$msCompile" } ] }
-
.vscode/launch.json
ファイルを作成し、以下の内容を追加します。{ "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "${workspaceFolder}/bin/Debug/net9.0/MyConsoleApp.dll", "args": [], "cwd": "${workspaceFolder}", "console": "internalConsole", "stopAtEntry": false }, { "name": ".NET Core Attach", "type": "coreclr", "request": "attach" } ] }
これで、VS CodeでF#プロジェクトのビルドとデバッグができるようになります。
ブレークポイントを設定してデバッグ実行(F5)すると、以下のようにデバッグが開始されます。
Discussion