C#をVSCodeで始める方法|環境構築から実行・デバッグ・よくあるエラー解決まで完全解説
はじめに
「C#をVSCodeで使いたいけれど、何から始めればいいのかわからない」「Visual StudioではなくVSCodeで開発できるの?」という疑問を持つ方は少なくありません。
C#は本来Visual Studioとの相性がよい言語ですが、VSCodeでも必要な環境を整えれば、十分に快適な開発ができます。
この記事では、C#をVSCodeで始めるために必要な環境構築から、実行、デバッグ、よくあるエラーの解決方法までを、初心者向けにわかりやすく解説します。
最終的には、VSCodeでC#のコンソールアプリを作成し、実行し、デバッグできる状態を目指します。
1. C#をVSCodeで始める前に知っておくべき全体像
1-1. VSCodeでC#開発はできる?Visual Studioとの違い
結論からいうと、VSCodeでもC#開発はできます。
ただし、VSCodeはVisual Studioのような統合開発環境ではなく、軽量なコードエディタです。そのため、C#開発に必要な機能は、.NET SDKや拡張機能を組み合わせて使う形になります。
Visual Studioは、最初からC#開発に必要な機能がひと通りそろっています。プロジェクト作成、デバッグ、補完、テスト、GUI操作などが非常に充実しているため、初心者にはわかりやすい場面も多いです。
一方でVSCodeは軽快に動作し、C#以外の言語も一つのエディタで扱いやすいという強みがあります。
つまり、Visual Studioは「全部入りで高機能」、VSCodeは「軽量で柔軟」と考えるとイメージしやすいでしょう。
1-2. VSCodeでC#を使うメリット・デメリット
VSCodeでC#を使うメリットは、まず動作が軽いことです。起動が速く、メモリ消費も比較的少ないため、古めのPCでも扱いやすい傾向があります。
また、拡張機能を追加することで、C#以外の言語やツールと組み合わせた開発にも向いています。フロントエンド、Python、Git管理などを一つの環境にまとめやすいのも魅力です。
デメリットは、最初の環境構築がやや難しいことです。VSCode単体ではC#は動かず、.NET SDKやC#拡張機能の導入が必要です。
また、Visual Studioほど親切に全部が自動で整うわけではないため、エラーが出たときに原因を切り分ける力も少し必要になります。
1-3. 初心者がつまずきやすいポイント
初心者がつまずきやすいのは、主に次のようなポイントです。
まず、VSCodeを入れただけでC#が動くと思ってしまうことです。実際には、.NET SDKを入れなければコンパイルも実行もできません。
次に、C#拡張機能を入れても補完が出ない、デバッグが始まらないといった問題です。これは、SDKの未設定やプロジェクトの作り方に原因があることが多いです。
さらに、ターミナルでdotnetコマンドが認識されないケースもよくあります。これはインストール後のパス設定や再起動で解決することがあります。
1-4. この記事で作るC#実行環境のゴール
この記事で目指すゴールは、VSCodeで以下の操作ができる状態です。
C#のコンソールアプリを作成する
dotnet runで実行するVSCodeの実行ボタンやF5でデバッグする
エラーが出たときに原因を確認できる
まずはシンプルなコンソールアプリから始めることで、C#とVSCodeの基本を無理なく身につけられます。
2. C#をVSCodeで動かすために必要なもの
2-1. 必要なソフト一覧:VSCode・.NET SDK・拡張機能
C#をVSCodeで動かすためには、最低限次の3つが必要です。
・Visual Studio Code
・.NET SDK
・C#関連の拡張機能
VSCodeは編集画面、.NET SDKはC#をビルド・実行するための本体、拡張機能は補完やデバッグを助ける役割を持ちます。
この3つがそろって初めて、C#を快適に扱えるようになります。
2-2. .NET SDKとRuntimeの違い
.NET関連の用語で混乱しやすいのが、SDKとRuntimeの違いです。
Runtimeは、すでに作られたアプリを実行するための実行環境です。
SDKは、それに加えて、コンパイルやプロジェクト作成など、開発に必要な機能をまとめたものです。
C#を自分で書いて実行するなら、基本的にはRuntimeではなくSDKが必要です。
「実行だけできればいい」のではなく、「作成して動かす」ためにはSDKを入れると覚えておくとわかりやすいでしょう。
2-3. C# Dev KitとC#拡張機能の違い
現在のVSCodeでC#開発をする場合、C# Dev KitとC#拡張機能の役割を理解しておくと便利です。
C#拡張機能は、C#の基本的な編集支援やデバッグの土台を提供します。
C# Dev Kitは、さらに開発体験を向上させるための機能を追加する拡張機能です。プロジェクト管理やより高度な支援が含まれます。
初心者であれば、まずはC#拡張機能とC# Dev Kitの両方を入れておくと安心です。
どちらか片方だけでは足りないことがあるため、まとめて導入するのが基本です。
2-4. Windows・Mac・Linuxでの注意点
C#とVSCodeはWindows、Mac、Linuxのいずれでも使えますが、細かな注意点があります。
Windowsでは、.NET SDKのインストール後にパスが通っているか確認することが大切です。
Macでは、Apple SiliconかIntelかによって、インストール手順や拡張機能の挙動に差が出ることがあります。
Linuxでは、ディストリビューションごとにインストール方法が少し異なるため、公式手順に沿って進めるのが安全です。
どのOSでも共通して重要なのは、VSCodeだけではなく.NET SDKを正しく入れることです。
3. VSCodeと.NET SDKをインストールする方法
3-1. VSCodeをインストールする
まずはVisual Studio Codeをインストールします。
公式サイトから自分のOSに合ったものをダウンロードし、通常のアプリケーションとしてインストールすれば問題ありません。
インストール後は、起動できるかを確認しましょう。
この段階ではまだC#は動きませんが、エディタとして使える状態になっていればOKです。
3-2. .NET SDKをインストールする
次に.NET SDKをインストールします。
C#をVSCodeで動かすうえで、もっとも重要な要素のひとつです。
インストール時は、できるだけ最新の安定版を選ぶのが基本です。
学校や業務で特定のバージョンが指定されている場合を除き、通常は最新のLTS版を使うと安心です。
インストールが終わったら、ターミナルを開いてdotnetコマンドが使えるようにしておきます。
3-3. dotnetコマンドが使えるか確認する
インストール後は、VSCodeのターミナルやOSのコマンドラインで次のように入力して確認します。
Bashdotnet --version
バージョン番号が表示されれば、.NET SDKは正しく認識されています。
もし「コマンドが見つからない」と表示された場合は、インストールがうまくいっていないか、パス設定が通っていない可能性があります。
3-4. .NET SDKが認識されない場合の確認ポイント
dotnetが認識されないときは、まずVSCodeを再起動してみましょう。
次に、ターミナルを開き直して再度確認します。
それでもだめな場合は、SDKが本当にインストールされているか、環境変数に登録されているかを見直します。
特にWindowsでは、インストール直後に別のターミナルを開く必要があることがあります。
MacやLinuxでも、シェル設定が反映されていないケースがあるため、端末の再起動や再ログインが有効です。
4. VSCodeにC#拡張機能を追加する
4-1. C# Dev Kitをインストールする
VSCodeの拡張機能マーケットプレイスを開き、「C# Dev Kit」を検索してインストールします。
これにより、C#開発に必要な機能がまとめて強化されます。
C# Dev Kitは、VSCodeでC#を使ううえでかなり重要です。
単なるエディタではなく、C#開発用の環境として使いやすくしてくれる役割があります。
4-2. C#拡張機能をインストールする
次に「C#」拡張機能もインストールします。
C# Dev Kitと合わせて使うことで、補完やエラー表示、デバッグ支援がより安定します。
拡張機能は、後から追加しても問題ありません。
ただし、複数のC#関連拡張機能を入れすぎると挙動がややこしくなる場合があるため、まずは公式系の拡張機能を中心に入れるのがおすすめです。
4-3. IntelliSense・補完・エラー表示を有効にする
C#拡張機能が正しく動くと、IntelliSenseによる補完候補が表示されるようになります。
たとえば、Console.と入力すると、WriteLineなどの候補が出るはずです。
また、コードに文法エラーがあると、赤い波線で知らせてくれます。
これにより、実行前にミスを見つけやすくなります。
補完やエラー表示が出ない場合は、拡張機能が有効になっているか、プロジェクトとして認識されているかを確認しましょう。
4-4. 拡張機能がうまく動かないときの対処法
拡張機能が動かないときは、まずVSCodeを再起動します。
次に、対象フォルダが単なるファイル単体ではなく、.NETプロジェクトのルートになっているか確認します。
それでも改善しない場合は、C#拡張機能とC# Dev Kitをいったん無効化して再度有効にする方法もあります。
さらに、.NET SDKのバージョンが古すぎると動作しないことがあるため、SDK側の見直しも重要です。
5. VSCodeでC#プロジェクトを作成する
5-1. 作業用フォルダを作成する
まず、C#の学習用に新しいフォルダを作成します。
デスクトップでもドキュメントでも構いませんが、あとから見つけやすい場所にしておくと便利です。
フォルダ名は、csharp-vscode や hello-csharp のようにわかりやすい名前がおすすめです。
このフォルダが、これから作るC#プロジェクトの土台になります。
5-2. dotnet new consoleでコンソールアプリを作る
フォルダを開いた状態で、VSCodeのターミナルから次のコマンドを実行します。
Bashdotnet new console
これで、C#のコンソールアプリのひな形が作成されます。
初めて使う方は、このコマンドだけで複数のファイルが自動生成されることに驚くかもしれませんが、これが.NETの基本的な開発スタイルです。
5-3. Program.csの中身を確認する
dotnet new console を実行すると、Program.cs というファイルが作られます。
ここに、最初のC#コードが入っています。
最近のテンプレートでは、最小構成のプログラムが書かれていることが多く、かなりシンプルです。
このファイルが、まず最初に動かすC#コードになります。
5-4. ソリューションとプロジェクトの基本を理解する
C#開発では、「ソリューション」と「プロジェクト」という言葉がよく出てきます。
プロジェクトは、1つのアプリやライブラリを作る単位です。
ソリューションは、複数のプロジェクトをまとめるための入れ物です。
初心者は、まずプロジェクトだけを意識して問題ありません。
コンソールアプリを1つ作る段階では、ソリューションを深く理解していなくても十分に進められます。
6. VSCodeでC#を実行する方法
6-1. ターミナルからdotnet runで実行する
C#プロジェクトができたら、ターミナルで次のコマンドを実行します。
Bashdotnet run
これにより、ソースコードのビルドと実行がまとめて行われます。
C#では、まずこの実行方法を覚えると非常に便利です。
6-2. VSCodeの実行ボタンから起動する
C#拡張機能が正しく入っていれば、VSCode上の実行ボタンからプログラムを起動できることがあります。
ターミナルを使わずに実行できるため、慣れてくると手軽です。
ただし、環境によっては実行ボタンが出ないこともあります。
その場合でも、dotnet run が使えれば問題ありません。
6-3. Hello Worldを表示して動作確認する
最初は、画面に「Hello World」を表示するだけのプログラムで十分です。
たとえば、次のように書けば動作確認ができます。
C#Console.WriteLine("Hello World");
実行して文字が表示されれば、C#とVSCodeの基本環境は正しく動いています。
ここまでできれば、次のステップに進めます。
6-4. 実行できないときに確認すべき設定
実行できないときは、まず次の点を確認します。
・フォルダがプロジェクトのルートになっているか
・dotnet コマンドが使えるか
・Program.cs にエラーがないか
・C#拡張機能が有効か
特に、VSCodeでフォルダを開いていない、あるいは別の場所でコマンドを打っていると、意図したプロジェクトが実行されません。
実行先が合っているかを確認するのが重要です。
7. VSCodeでC#をデバッグする方法
7-1. ブレークポイントを設定する
デバッグの基本は、ブレークポイントです。
コードの左側をクリックして赤い丸をつけると、その行でプログラムの実行を一時停止できます。
これにより、どのタイミングで何が起きているかを確認しやすくなります。
C#学習では、ただ動かすだけでなく、止めて中身を見ることが非常に大切です。
7-2. F5でデバッグ実行する
VSCodeでF5を押すと、デバッグ実行を開始できます。
ブレークポイントが設定されていれば、その位置で停止します。
デバッグ中は、通常の実行よりもプログラムの流れを細かく追えるため、エラーの原因を調べやすくなります。
初心者のうちからF5でのデバッグに慣れておくと、後々かなり役立ちます。
7-3. 変数・ウォッチ・コールスタックを確認する
デバッグ時には、変数の値、ウォッチ、コールスタックなどを確認できます。
変数を見ると、今どんな値が入っているのかがわかります。
ウォッチでは、気になる式を登録して変化を追えます。
コールスタックでは、どの関数から呼ばれてきたかを確認できます。
これらを使うと、「なぜこの値になったのか」を追いやすくなります。
C#の学習効率を上げるうえでも、デバッグ画面に慣れることは非常に重要です。
7-4. launch.jsonが必要になるケース
通常は、VSCodeが自動でデバッグ設定を作ってくれます。
しかし、特殊な構成や複数プロジェクトの管理では、launch.json が必要になることがあります。
launch.json は、どのプログラムをどのようにデバッグするかを設定するファイルです。
最初は難しく感じるかもしれませんが、基本はテンプレートに従えば問題ありません。
7-5. デバッグが開始できないときの対処法
F5を押してもデバッグが始まらない場合は、まずプロジェクトが正しく読み込まれているか確認します。
次に、C#拡張機能やC# Dev Kitが有効かを見ます。
また、launch.json の設定が古い、あるいは壊れている場合もあります。
その場合は、設定を作り直すと解決することがあります。
さらに、.NET SDKのバージョンが合っていないと、デバッグ機能が正常に動かないこともあります。
8. C#開発を快適にするVSCodeの設定
8-1. 自動保存・フォーマット設定を有効にする
VSCodeでは、自動保存を有効にしておくと便利です。
保存忘れを防げるだけでなく、コード編集の流れがスムーズになります。
また、フォーマット設定を使えば、コードの見た目を整えやすくなります。
C#はインデントや改行を整えておくことで読みやすさが大きく上がるため、早い段階で自動整形に慣れておくとよいでしょう。
8-2. C#のコード補完を使いやすくする
コード補完は、C#学習をかなり助けてくれます。
特にクラス名、メソッド名、プロパティ名を覚えきれないうちは、補完に頼ることで効率よく書けます。
補完がうまく働かない場合は、プロジェクトとして正しく開けているかを見直しましょう。
単一ファイルだけを開いていると、補完が十分に効かないことがあります。
8-3. ターミナルを使いやすくする
C#開発では、ターミナルをよく使います。dotnet new、dotnet run、dotnet build などの基本コマンドに慣れると、作業速度が上がります。
VSCodeの統合ターミナルを使えば、エディタとコマンド操作を行き来しやすくなります。
初心者でも、少しずつコマンド操作を覚えていくと、C#開発の理解が深まります。
8-4. おすすめ拡張機能を追加する
C#開発を快適にするためには、公式系の拡張機能を中心に入れるのがおすすめです。
C# Dev KitやC#拡張機能に加えて、Git関連、コード整形、便利なショートカット系の拡張機能が役立つこともあります。
ただし、最初から入れすぎないことも大切です。
拡張機能が多すぎると、どれが原因で不具合が起きているのかわかりにくくなるため、必要最低限から始めるのが安全です。
9. よくあるエラーと解決方法
9-1. dotnetコマンドが見つからない
dotnet が見つからない場合は、.NET SDKが正しくインストールされていない可能性があります。
または、環境変数にパスが通っていない場合もあります。
まずはSDKの再インストールや、ターミナルの再起動を試しましょう。
それでもだめなら、インストール先を確認し、コマンドがどこから呼ばれているかを見直します。
9-2. SDKがインストールされていないと表示される
VSCodeで「SDKがインストールされていない」と表示される場合、C#拡張機能が.NET SDKを見つけられていない状態です。
この場合は、SDKが本当に入っているかを確認し、必要であれば再インストールします。
インストール直後は認識されないこともあるため、VSCodeの再起動も有効です。
バージョンの不一致が原因のこともあるため、拡張機能とSDKの整合性も確認しましょう。
9-3. C#の補完やエラー表示が動かない
補完やエラー表示が出ない場合、まずプロジェクトを正しく開いているか見直します。
次に、C#拡張機能とC# Dev Kitが有効になっているか確認します。
単一ファイルだけを開いて編集していると、IDE機能が十分に働かないことがあります。
必ずdotnet new consoleで作成したプロジェクトフォルダを開くようにしましょう。
9-4. 「No project loaded」と表示される
「No project loaded」は、VSCodeがC#プロジェクトを認識していないときに出やすいメッセージです。
この場合、開いているフォルダが間違っているか、まだプロジェクトが作成されていない可能性があります。
dotnet new console を実行したフォルダをVSCodeで開き直すと解決することがあります。
プロジェクトのルートを開くことがとても重要です。
9-5. F5でデバッグできない
F5でデバッグできないときは、まずブレークポイントが適切に設定されているか確認します。
次に、launch.json の生成や設定に問題がないかを見ます。
また、ビルドエラーが残っているとデバッグ開始に失敗する場合があります。
ターミナルで一度dotnet buildを試し、コンパイルエラーがないか確認すると原因を絞りやすくなります。
9-6. launch.jsonやtasks.jsonの設定で失敗する
launch.json や tasks.json は便利ですが、手動で編集するとミスが起きやすいファイルでもあります。
特に初心者のうちは、テンプレートで自動生成された内容をなるべくそのまま使うのが安全です。
設定が壊れたと感じたら、いったんファイルを削除して再生成する方法もあります。
複雑な設定を足すのは、基本操作に慣れてからで十分です。
9-7. MacでC# Dev Kitがうまく動かない
Macでうまく動かない場合は、アーキテクチャの違いに注意します。
Apple Silicon向けとIntel向けで、必要な環境が少し異なることがあります。
また、VSCodeの再起動、拡張機能の再インストール、.NET SDKの入れ直しも試す価値があります。
Mac特有の問題は、ターミナルとGUIアプリの環境差で起きることもあるため、コマンドラインでの確認も有効です。
9-8. 拡張機能を入れてもVSCodeがC#を認識しない
拡張機能を入れても認識しない場合は、プロジェクトフォルダを正しく開いていないケースが多いです。
また、拡張機能の競合や、古いキャッシュが原因のこともあります。
まずはVSCodeを再起動し、プロジェクトルートを開き直しましょう。
それでも改善しなければ、拡張機能を一度無効化してから再有効化すると改善することがあります。
10. 初心者向け:C#で最初に覚える基本操作
10-1. Console.WriteLineで文字を表示する
C#学習の第一歩は、文字を表示することです。Console.WriteLine は、画面に文字を出力する基本中の基本です。
C#Console.WriteLine("こんにちは");
これが動けば、C#の実行環境ができていると判断できます。
最初は難しい処理よりも、確実に動くコードから始めるのが大切です。
10-2. 変数を使って値を扱う
次に覚えたいのが変数です。
変数を使うと、数値や文字を保存しておけます。
C#string name = "Taro";
int age = 20;
変数が使えるようになると、プログラムで扱える情報が一気に増えます。
C#では型の考え方が重要なので、最初のうちから少しずつ慣れておきましょう。
10-3. if文で条件分岐する
if文は、条件によって処理を分けるための構文です。
たとえば、年齢が18歳以上かどうかで表示を変えることができます。
C#if (age >= 18)
{
Console.WriteLine("大人です");
}
条件分岐は、実用的なプログラムの基本です。
C#の学習では、変数とif文をセットで覚えると理解しやすくなります。
10-4. for文で繰り返し処理を書く
for文は、同じ処理を複数回繰り返すときに使います。
たとえば、1から5までの数字を表示することができます。
C#for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
繰り返し処理は、データをまとめて扱う場面で欠かせません。
最初は構文に慣れることを優先し、少しずつ応用していくとよいでしょう。
10-5. 入力を受け取る簡単なプログラムを作る
入力を受け取れるようになると、プログラムがぐっと面白くなります。Console.ReadLine を使えば、ユーザーから文字を入力してもらえます。
C#Console.WriteLine("名前を入力してください");
string? input = Console.ReadLine();
Console.WriteLine($"こんにちは、{input}さん");
入力と出力を組み合わせることで、対話的なプログラムが作れるようになります。
C#の学習は、こうした小さな成功体験を積み重ねることが大切です。
11. VSCodeでC#を学習・開発するときの次のステップ
11-1. コンソールアプリから学習を始める
最初の学習は、コンソールアプリから始めるのが最もおすすめです。
画面上の動きがシンプルで、C#の文法や基本構造に集中しやすいからです。
複雑な画面設計やWeb機能よりも先に、まずは「書く・実行する・直す」の流れに慣れましょう。
11-2. ASP.NET CoreでWebアプリを作る
基礎が身についたら、ASP.NET CoreでWebアプリ開発に進むのもよい流れです。
C#はWeb開発でも非常に強力で、サーバーサイドの開発に幅広く使われています。
VSCodeでもASP.NET Coreの開発はできます。
コンソールアプリより少し複雑ですが、実用性は非常に高いです。
11-3. Unity開発でC#を使う
ゲーム開発を目指すなら、UnityでC#を使う道もあります。
C#はUnityの主要言語として広く使われているため、ゲーム制作に興味がある人にも向いています。
ただし、UnityはUnity独自の考え方があるため、まずはC#そのものの基礎を固めてから進むと理解しやすくなります。
11-4. テスト・Git・拡張機能を活用する
C#開発に慣れてきたら、テスト、Git、便利な拡張機能も活用しましょう。
テストを使うと、コードの正しさを確認しやすくなります。
Gitを使うと、変更履歴を管理できます。
拡張機能を活用すると、開発効率をさらに高められます。
学習段階でも、こうした実務的な習慣を少しずつ取り入れると、後から大きな差になります。
11-5. Visual Studioへの移行を検討すべきケース
VSCodeで十分に開発できる一方で、場合によってはVisual Studioのほうが向いていることもあります。
たとえば、大規模なC#開発、GUIアプリ、詳細なデバッグ支援が必要な場面です。
学習初期はVSCodeで軽快に進め、必要に応じてVisual Studioへ移行する、という使い分けも十分に現実的です。
大切なのは、ツールにこだわりすぎず、目的に合った環境を選ぶことです。
まとめ
C#をVSCodeで始めるには、VSCodeだけでなく.NET SDKとC#拡張機能が必要です。
環境を整えたら、dotnet new console でプロジェクトを作成し、dotnet run で実行、F5でデバッグする流れを覚えましょう。
最初はエラーや設定の違いでつまずきやすいですが、ポイントを押さえれば難しくありません。
まずはコンソールアプリから始めて、C#とVSCodeの基本操作に慣れることが、最短で上達する近道です。

