🚶‍♀️

.NET Core+F# プロジェクトの VS Code デバッグ設定

2024/11/24に公開

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でプロジェクトを開き、以下の手順でビルドとデバッグの設定を行います。

  1. .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"
            }
        ]
    }
    
  2. .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