チュートリアル: Visual Studio Code を使用して .NET コンソール アプリケーションを作成する

このチュートリアルでは、Visual Studio Code と .NET CLI を使用して NET コンソール アプリケーションを作成して実行する方法を示します。 プロジェクトの作成、コンパイル、実行などのプロジェクト タスクは、.NET CLI を使用して行われます。 必要に応じて、別のコード エディターを使用してこのチュートリアルに従い、ターミナルでコマンドを実行することができます。

前提条件

アプリを作成する

"HelloWorld" という名前の .NET コンソール アプリ プロジェクトを作成します。

  1. Visual Studio Code を起動します。

  2. メイン メニューから [ファイル]>[フォルダーを開く] (macOS では [ファイル]>[開く...]) の順に選択します。

  3. [フォルダーを開く] ダイアログで、HelloWorld フォルダーを作成して選択します。 次に、[フォルダーの選択] (macOS の場合は [開く]) をクリックします。

    フォルダー名は既定でプロジェクト名と名前空間名になります。 このチュートリアルでは後でコードを追加しますが、プロジェクト名前空間は HelloWorld にします。

  4. [このフォルダー内のファイルの作成者を信頼しますか] と尋ねるダイアログで、[はい、作成者を信頼します] を選択します。 このフォルダーには、.NET によって生成され、ユーザーによって追加または変更されたファイルのみが含まれているため、作成者を信頼できます。

  5. メイン メニューで [表示]>[ターミナル] の順に選択して、Visual Studio Code でターミナルを開きます。

    ターミナルが開き、HelloWorld フォルダーにコマンド プロンプトが表示されます。

  6. ターミナルで、次のコマンドを入力します。

    dotnet new console --framework net8.0 --use-program-main
    

    Program.cs ファイルを開き、テンプレートによって作成された単純なアプリケーションを確認します。

    namespace HelloWorld;
    
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
    

    初めて .cs ファイルを開くときに、Visual Studio Code で、アプリのビルドとデバッグに必要な資産の追加を求められます。 [はい] を選択すると、Visual Studio Code で launch.json ファイルと tasks.json ファイルを含む .vscode フォルダーが作成されます。

    Note

    プロンプトが表示されない場合、または [はい] を選択せずに誤ってプロンプトを閉じた場合は、次の手順を行って launch.jsontasks.json を作成します。

    • メニューから [実行]>[構成の追加] の順に選択します。
    • [環境の選択] プロンプトで、[.NET 5+ および .NET Core] を選択します。

    コードでは、String 配列を引数として受け取る単一のメソッド Main がある、Program というクラスが定義されます。 Main はアプリケーションのエントリ ポイントで、アプリケーションを起動するときに、ランタイムによって自動的に呼び出されるメソッドです。 アプリケーションが起動されるときに提供されるコマンドライン引数はすべて args 配列にあります。 Main 内のコードから Console.WriteLine(String) メソッドが呼び出され、コンソール ウィンドウにメッセージが表示されます。

    C# では、最上位レベルのステートメントという機能により、Program クラスと Main メソッドを省略できます。 このチュートリアルでは、この機能は使用しません。 これをプログラムで使用するかどうかはスタイルの好みの問題です。 プロジェクトを作成した dotnet new コマンドでは、--use-program-main オプションによって、最上位レベルのステートメントを使用できません。

アプリを実行する

ターミナルで次のコマンドを実行します。

dotnet run

プログラムによって "Hello, World!" が表示されて終了します。

The dotnet run command

アプリを拡張する

アプリケーションを拡張し、ユーザーに名前の入力を求め、日付と時刻と共にそれを表示するようにします。

  1. Program.cs を開きます。

  2. Program.csMain メソッドの内容 (Console.WriteLine を呼び出す行) を以下のコードに置き換えます。

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    

    このコードによりコンソール ウィンドウにプロンプトが表示され、ユーザーが文字列を入力して Enter キーを押すまで待機します。 これはこの文字列を name という変数に格納します。 さらに現在の現地時刻を含む DateTime.Now プロパティの値を取得して、それを currentDate という変数に代入します。 これらの値がコンソール ウィンドウに表示されます。 最後に、コンソール ウィンドウにプロンプトを表示し、Console.ReadKey(Boolean) メソッドを呼び出してユーザーによる入力を待ちます。

    NewLine は、プラットフォームに依存せず、言語に依存せずに、改行を表す方法です。 これは C# の \n と同じです。

    文字列の前にドル記号 ($) を付けると、変数名などの式を文字列で中かっこで囲むことができます。 式の値が、式の代わりに文字列に挿入されます。 この構文は、補間された文字列と呼ばれます。

  3. 変更を保存します。

    重要

    Visual Studio Code では、変更を明示的に保存する必要があります。 Visual Studio とは異なり、アプリをビルドして実行してもファイルの変更は自動的には保存されません。

  4. もう一度プログラムを実行します。

    dotnet run
    
  5. プロンプトに対し、名前を入力し、Enter キーを押します。

    Terminal window with modified program output

  6. 任意のキーを押してプログラムを終了します。

その他のリソース

次のステップ

このチュートリアルでは、.NET コンソール アプリケーションを作成しました。 次のチュートリアルでは、アプリをデバッグします。

このチュートリアルでは、Visual Studio Code と .NET CLI を使用して NET コンソール アプリケーションを作成して実行する方法を示します。 プロジェクトの作成、コンパイル、実行などのプロジェクト タスクは、.NET CLI を使用して行われます。 必要に応じて、別のコード エディターを使用してこのチュートリアルに従い、ターミナルでコマンドを実行することができます。

前提条件

アプリを作成する

"HelloWorld" という名前の .NET コンソール アプリ プロジェクトを作成します。

  1. Visual Studio Code を起動します。

  2. メイン メニューから [ファイル]>[フォルダーを開く] (macOS では [ファイル]>[開く...]) の順に選択します。

  3. [フォルダーを開く] ダイアログで、HelloWorld フォルダーを作成して選択します。 次に、[フォルダーの選択] (macOS の場合は [開く]) をクリックします。

    フォルダー名は既定でプロジェクト名と名前空間名になります。 このチュートリアルでは後でコードを追加しますが、プロジェクト名前空間は HelloWorld にします。

  4. [このフォルダー内のファイルの作成者を信頼しますか] と尋ねるダイアログで、[はい、作成者を信頼します] を選択します。 このフォルダーには、.NET によって生成され、ユーザーによって追加または変更されたファイルのみが含まれているため、作成者を信頼できます。

  5. メイン メニューで [表示]>[ターミナル] の順に選択して、Visual Studio Code でターミナルを開きます。

    ターミナルが開き、HelloWorld フォルダーにコマンド プロンプトが表示されます。

  6. ターミナルで、次のコマンドを入力します。

    dotnet new console --framework net7.0
    

    このテンプレートを使用すると、Program.csConsole.WriteLine(String) メソッドを呼び出すことによってコンソール ウィンドウに "Hello, World" と表示する単純なアプリケーションが作成されます。

    Console.WriteLine("Hello, World!");
    
  7. Program.cs の内容を次のコードで置き換えます。

    namespace HelloWorld
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello, World!");
            }
        }
    }
    

    初めて .cs ファイルを編集するときに、Visual Studio Code で、アプリのビルドとデバッグに必要なアセットの追加を求められます。 [はい] を選択すると、Visual Studio Code で launch.json ファイルと tasks.json ファイルを含む .vscode フォルダーが作成されます。

    Note

    プロンプトが表示されない場合、または [はい] を選択せずに誤ってプロンプトを閉じた場合は、次の手順を行って launch.jsontasks.json を作成します。

    • メニューから [実行]>[構成の追加] の順に選択します。
    • [環境の選択] プロンプトで、[.NET 5+ および .NET Core] を選択します。

    コードでは、String 配列を引数として受け取る単一のメソッド Main がある、Program というクラスが定義されます。 Main はアプリケーションのエントリ ポイントで、アプリケーションを起動するときに、ランタイムによって自動的に呼び出されるメソッドです。 アプリケーションが起動されるときに提供されるコマンドライン引数はすべて args 配列にあります。

    最新バージョンの C# では、最上位レベルのステートメントという新しい機能により、Program クラスと Main メソッドを省略できます。 既存の C# プログラムの多くは、最上位レベルのステートメントが使用されていないため、このチュートリアルではこの新しい機能を使用していません。 ただし、これは C# 10 で利用可能であり、プログラムで使用するかどうかはスタイルの好みの問題です。

アプリを実行する

ターミナルで次のコマンドを実行します。

dotnet run

プログラムによって "Hello, World!" が表示されて終了します。

The dotnet run command

アプリを拡張する

アプリケーションを拡張し、ユーザーに名前の入力を求め、日付と時刻と共にそれを表示するようにします。

  1. Program.cs を開きます。

  2. Program.csMain メソッドの内容 (Console.WriteLine を呼び出す行) を以下のコードに置き換えます。

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    

    このコードによりコンソール ウィンドウにプロンプトが表示され、ユーザーが文字列を入力して Enter キーを押すまで待機します。 これはこの文字列を name という変数に格納します。 さらに現在の現地時刻を含む DateTime.Now プロパティの値を取得して、それを currentDate という変数に代入します。 これらの値がコンソール ウィンドウに表示されます。 最後に、コンソール ウィンドウにプロンプトを表示し、Console.ReadKey(Boolean) メソッドを呼び出してユーザーによる入力を待ちます。

    NewLine は、プラットフォームに依存せず、言語に依存せずに、改行を表す方法です。 代替手段は、C# では \n、Visual Basic では vbCrLf です。

    文字列の前にドル記号 ($) を付けると、変数名などの式を文字列で中かっこで囲むことができます。 式の値が、式の代わりに文字列に挿入されます。 この構文は、補間された文字列と呼ばれます。

  3. 変更を保存します。

    重要

    Visual Studio Code では、変更を明示的に保存する必要があります。 Visual Studio とは異なり、アプリをビルドして実行してもファイルの変更は自動的には保存されません。

  4. もう一度プログラムを実行します。

    dotnet run
    
  5. プロンプトに対し、名前を入力し、Enter キーを押します。

    Terminal window with modified program output

  6. 任意のキーを押してプログラムを終了します。

その他のリソース

次のステップ

このチュートリアルでは、.NET コンソール アプリケーションを作成しました。 次のチュートリアルでは、アプリをデバッグします。

このチュートリアルでは、Visual Studio Code と .NET CLI を使用して NET コンソール アプリケーションを作成して実行する方法を示します。 プロジェクトの作成、コンパイル、実行などのプロジェクト タスクは、.NET CLI を使用して行われます。 必要に応じて、別のコード エディターを使用してこのチュートリアルに従い、ターミナルでコマンドを実行することができます。

前提条件

アプリを作成する

"HelloWorld" という名前の .NET コンソール アプリ プロジェクトを作成します。

  1. Visual Studio Code を起動します。

  2. メイン メニューから [ファイル]>[フォルダーを開く] (macOS では [ファイル]>[開く...]) の順に選択します。

  3. [フォルダーを開く] ダイアログで、HelloWorld フォルダーを作成して選択します。 次に、[フォルダーの選択] (macOS の場合は [開く]) をクリックします。

    フォルダー名は既定でプロジェクト名と名前空間名になります。 このチュートリアルでは後でコードを追加しますが、プロジェクト名前空間は HelloWorld にします。

  4. [このフォルダー内のファイルの作成者を信頼しますか] と尋ねるダイアログで、[はい、作成者を信頼します] を選択します。 このフォルダーには、.NET によって生成され、ユーザーによって追加または変更されたファイルのみが含まれているため、作成者を信頼できます。

  5. メイン メニューで [表示]>[ターミナル] の順に選択して、Visual Studio Code でターミナルを開きます。

    ターミナルが開き、HelloWorld フォルダーにコマンド プロンプトが表示されます。

  6. ターミナルで、次のコマンドを入力します。

    dotnet new console --framework net6.0 --use-program-main
    

    このテンプレートを使用すると、Program.csConsole.WriteLine(String) メソッドを呼び出すことによってコンソール ウィンドウに "Hello, World" と表示する単純なアプリケーションが作成されます。

    namespace HelloWorld;
    
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
    

    初めて .cs ファイルを編集するときに、Visual Studio Code で、アプリのビルドとデバッグに必要なアセットの追加を求められます。 [はい] を選択すると、Visual Studio Code で launch.json ファイルと tasks.json ファイルを含む .vscode フォルダーが作成されます。

    Note

    プロンプトが表示されない場合、または [はい] を選択せずに誤ってプロンプトを閉じた場合は、次の手順を行って launch.jsontasks.json を作成します。

    • メニューから [実行]>[構成の追加] の順に選択します。
    • [環境の選択] プロンプトで、[.NET 5+ および .NET Core] を選択します。

    コードでは、String 配列を引数として受け取る単一のメソッド Main がある、Program というクラスが定義されます。 Main はアプリケーションのエントリ ポイントで、アプリケーションを起動するときに、ランタイムによって自動的に呼び出されるメソッドです。 アプリケーションが起動されるときに提供されるコマンドライン引数はすべて args 配列にあります。

    最新バージョンの C# では、最上位レベルのステートメントという新しい機能により、Program クラスと Main メソッドを省略できます。 既存の C# プログラムの多くは、最上位レベルのステートメントが使用されていないため、このチュートリアルではこの新しい機能を使用していません。 ただし、これは C# 10 で利用可能であり、プログラムで使用するかどうかはスタイルの好みの問題です。 プロジェクトの作成に使用した dotnet new コマンドでは、 --use-program-main オプションによって、最上位レベルのステートメントが使用できません。

アプリを実行する

ターミナルで次のコマンドを実行します。

dotnet run

プログラムによって "Hello, World!" が表示されて終了します。

The dotnet run command

アプリを拡張する

アプリケーションを拡張し、ユーザーに名前の入力を求め、日付と時刻と共にそれを表示するようにします。

  1. Program.cs を開きます。

  2. Program.csMain メソッドの内容 (Console.WriteLine を呼び出す行) を以下のコードに置き換えます。

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    

    このコードによりコンソール ウィンドウにプロンプトが表示され、ユーザーが文字列を入力して Enter キーを押すまで待機します。 これはこの文字列を name という変数に格納します。 さらに現在の現地時刻を含む DateTime.Now プロパティの値を取得して、それを currentDate という変数に代入します。 これらの値がコンソール ウィンドウに表示されます。 最後に、コンソール ウィンドウにプロンプトを表示し、Console.ReadKey(Boolean) メソッドを呼び出してユーザーによる入力を待ちます。

    NewLine は、プラットフォームに依存せず、言語に依存せずに、改行を表す方法です。 代替手段は、C# では \n、Visual Basic では vbCrLf です。

    文字列の前にドル記号 ($) を付けると、変数名などの式を文字列で中かっこで囲むことができます。 式の値が、式の代わりに文字列に挿入されます。 この構文は、補間された文字列と呼ばれます。

  3. 変更を保存します。

    重要

    Visual Studio Code では、変更を明示的に保存する必要があります。 Visual Studio とは異なり、アプリをビルドして実行してもファイルの変更は自動的には保存されません。

  4. もう一度プログラムを実行します。

    dotnet run
    
  5. プロンプトに対し、名前を入力し、Enter キーを押します。

    Terminal window with modified program output

  6. 任意のキーを押してプログラムを終了します。

その他のリソース

次のステップ

このチュートリアルでは、.NET コンソール アプリケーションを作成しました。 次のチュートリアルでは、アプリをデバッグします。