.NET 10 SDKとVSCodeで作る軽量C#開発環境 ― 個人開発向けミニマム構成 ―

コンピュータ

.NET10 SDKとvscodeを使ってC#の開発環境を構築する手順の記事です。

Scoopのインストール

scoopはユーザー権限でアプリケーションをコンソールからインストールするパッケージマネージャです。

PowerShell(管理者不要)を開いて以下を実行:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex

VScodeのインストール

VSCodeはマイクロソフト製のテキストエディタです。

PowerShellでscoopコマンドを使いVSCodeをイントールします。

scoop install vscode

vscodeの起動

PowerShellで以下のコマンドで起動します。

code .

.はカレントディレクトリという意味になります。

日本語化

Ctrl+Shift+Xで拡張機能を呼び出す。
検索窓で「Japanese Language Pack for Visual Studio Code」を検索する。

ヒットしたら、Installボタンを押します。
vscodeの再起動を要求されますので、指示に従います。

C#拡張のインストール

Ctrl+Shift+Xで拡張機能を呼び出す。
検索窓で「C#」を検索する。

C#

C# Dev Kit

ヒットしたら、Installボタンを押します。
vscodeの再起動を要求されますので、指示に従います。

.NET 10 SDKのインストール

.NET SDKはscoopからインストールことが出来ますが、バージョンを固定することが難しいので、
Webからインストーラーをダウンロードしインストールします。

ダウンロードしたファイル名は以下の通りです。バージョンによってファイル名が異なる場合があります。
“dotnet-sdk-10.0.102-win-x64.exe”

こちらのファイルをエクスプローラーでダブルクリックしインストールを行います。

動作確認

.NET10でWPFのプロジェクトを作成し、VScodeでデバック実行してみます。

PowerShellで以下のコマンドを実行

cd (mkdir WpfSample)
dotnet new wpf -f net10.0
code .

プロジェクトディレクトリとプロジェクト名はWpfSampleになります。

以下のファイルを作成
.vscode\launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "WPF Debug",
      "type": "coreclr",
      "request": "launch",
      "program": "${workspaceFolder}/bin/Debug/net10.0-windows/WpfSample.exe",
      "cwd": "${workspaceFolder}",
      "stopAtEntry": false,
      "console": "internalConsole"
    }
  ]
}
.vscode\tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build",
      "type": "process",
      "command": "dotnet",
      "args": [
        "build"
      ],
      "problemMatcher": ""
    }
  ]
}

.NET10が新しいためかlaunch.jsonが自動作成されないため手動で作成作成します。(そのうち対応されるでしょう)

F5キーを押しデバック実行します。

ウィンドウが表示されました。

launch.json生成スクリプト

launch.jsonが自動生成されないので、PowerShellスクリプトで生成。

param(
    [string]$WorkspaceRoot = (Get-Location).Path,
    [string]$OutputDir = ".vscode"
)

# .vscode ディレクトリを作成
$fullVscodePath = Join-Path $WorkspaceRoot $OutputDir
if (-not (Test-Path $fullVscodePath)) {
    New-Item -ItemType Directory -Path $fullVscodePath -Force | Out-Null
}

# launch.json のパス
$launchPath = Join-Path $fullVscodePath "launch.json"

# .NET プロジェクト出力パスを推定(Debug/net*)
$projectName = Split-Path $WorkspaceRoot -Leaf
$programPath = '${workspaceFolder}/bin/Debug/net10.0-windows/' + "$projectName.exe"
$workspaceString = '${workspaceFolder}'

# JSON 定義
$launchJson = @"
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Launch (console)",
            "type": "coreclr",
            "preLaunchTask": "build",
            "request": "launch",
            "program": "$programPath",
            "args": [],
            "cwd": "$workspaceString",
            "console": "integratedTerminal",
            "stopAtEntry": false
        }
    ]
}
"@

# ファイルに書き出す
$launchJson | Set-Content -Path $launchPath -Encoding UTF8

Write-Output "Generated launch.json at $launchPath"

# tasks.json のパス
$taskhPath = Join-Path $fullVscodePath "tasks.json"

$taskJson = @"
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build",
      "type": "process",
      "command": "dotnet",
      "args": [
        "build"
      ],
      "problemMatcher": "$msCompile"
    }
  ]
}
"@
# ファイルに書き出す
$taskJson | Set-Content -Path $taskhPath -Encoding UTF8

使い方

  • 上記コードを Generate-VSCodeLaunch.ps1 として保存(パスが切られたディレクトリを推奨)
  • プロジェクトのルートディレクトリに移動
  • PowerShell で実行:
    Generate-VSCodeLaunch.ps1
    

コメント