Visual Studio CodeでC#のデバッグをしたい

C# コンピュータ
C#

Window10標準のcsc.exeとテキストエディタを使ってC#を学習しています。

テキストエディタはVisual Studio Code(以下VSCode)を使っているのですが、VSCodeでC#をデバッグ出来るらしいのです。

色々調べて試してみましたが、Window10標準のcsc.exe(MSBuild?)が生成するデバッグファイルが対応していないためVSCodeでデバッグが出来ないようです。

.NET SDKかVisual Studio 2019のcsc.exeであればデバッグすることが出来るようなので試してみます。

.NET SDKのインストール

.NET Downloads (Linux, macOS, and Windows)
Official .NET downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform fo...

実行環境に合わせたインストーラーをダウンロードしインストール。
私はバージョン5.01のx64インストーラー版でインストールしました。

Visual Studio Codeのインストール

https://azure.microsoft.com/ja-jp/products/visual-studio-code/

インストーラーのオプションでコンテキストメニュー関連をチェック

日本語化

「Ctrl+Shift+P(Command Palette)」→「Configure Display Language」→「Install Additional Laugage」言語を選択

C#拡張機能のインストール

拡張機能(Ctrl+Shift+X)→C#

dotnet.exeでconsoleプロジェクトを作成

powershellで実行

PS>dotnet new console -Name <プロジェクト名>
PS>cd <プロジェクト名>
PS>code .

VSCodeでconsoleプロジェクトをデバッグ

VSCodeでプロジェクトを開きしばらくするとC#拡張から追加しますかと問い合わせがありますので、Yesをクリック。


一時停止したい行の先頭をクリックすると赤い〇が付く
F5でデバッグ実行
赤い〇の部分で一時停止する。
続行したい場合はF5を押す。

dotnet.exeでwinformsプロジェクトを作成

powershellで実行

PS>dotnet new winforms -Name <プロジェクト名>
PS>cd <プロジェクト名>
PS>code .

VSCodeでwinformsプロジェクトをデバッグ

なぜか、dllのパスが存在しないと叱られるのでlanch.jsonを修正
.vscode/lanch.json

"program": "${workspaceFolder}/bin/Debug/net5.0/WinformsProject.dll",

"program": "${workspaceFolder}/bin/Debug/net5.0-windows/WinformsProject.dll",
へ書き換える。

操作はconsoleプロジェクトと同じ

dotnetでプロジェクトにパッケージを追加

先ほどのconsoleプロジェクトにOpenCVSharpのパッケージを追加してみます。

PS>dotnet add <プロジェクト名> package OpenCvSharp3-AnyCPU
PS>cd <プロジェクト名>
PS>code .

きちんと追加されたか簡単なサンプルプログラムを実行してみる。
Program.csを以下のコードに書き換える。

using System;
using OpenCvSharp;
using OpenCvSharp.Extensions;

namespace ConsoleProject
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var mat = new Mat(@"H:\csharp\dotnet5\ConsoleProject\logo.png"))
            {
                Cv2.ImShow("sample", mat);
                Cv2.WaitKey(0);
            };
        }
    }
}

リリースでビルド

dotnet build --configuration Release

 

最新の.NET SDKを導入してみて

インストール不要でプログラミングを始められる、お手軽さはなくなりますが、デバッグが使える点は非常に素晴らしいです。
またNugetで公開されているパッケージの導入もすごく簡単なので、Window10標準のcsc.exeに戻れそうにないです。

.NET SDKをインストールすればdotnet.exeを使うことができますが、どうせインストールするのであればリソースの作成や管理を考えるとVisual Studio 2019のインストールするのがよさそうです。

.NET SDK6.0のインストール

20220629追記です。
気が付いたらVisual Studio Codeでデバッグが出来なくなっていました。
色々試したところ.NET SDKを6.0にバージョンアップしたところデバッグが出来るようになりました。
.NET 6.0 (Linux、macOS、Windows) をダウンロードする
Linux、macOS、Windows 用の .NET 6.0 ダウンロード。.NET は、さまざまな種類のアプリケーションを構築するための、無料のクロスプラットフォームのオープンソース開発者プラットフォームです。

スポンサーリンク

コメント

  1. […] Visual Studio Code で C# のデバッグをしたい | 迷惑堂本舗 […]

  2. […] Visual Studio Code で C# のデバッグをしたい | 迷惑堂本舗 […]