Tutorial: Create a .NET Core console application using Visual Studio Code

This tutorial shows how to create and run a .NET Core console application by using Visual Studio Code and the .NET Core CLI. Project tasks, such as creating, compiling, and running a project are done by using the .NET Core CLI. You can follow this tutorial with a different code editor and run commands in a terminal if you prefer.

Prerequisites

  1. Visual Studio Code with the C# extension installed. For information about how to install extensions on Visual Studio Code, see VS Code Extension Marketplace.
  2. The .NET Core 3.1 SDK or later

Create the app

Create a .NET Core console app project named "HelloWorld".

  1. Start Visual Studio Code.

  2. Select File > Open Folder (File > Open... on macOS) from the main menu.

  3. In the Open Folder dialog, create a HelloWorld folder and click Select Folder (Open on macOS).

    The folder name becomes the project name and the namespace name by default. You'll add code later in the tutorial that assumes the project namespace is HelloWorld.

  4. Open the Terminal in Visual Studio Code by selecting View > Terminal from the main menu.

    The Terminal opens with the command prompt in the HelloWorld folder.

  5. In the Terminal, enter the following command:

    dotnet new console
    

The template creates a simple "Hello World" application. It calls the Console.WriteLine(String) method to display "Hello World!" in the console window.

The template code defines a class, Program, with a single method, Main, that takes a String array as an argument:

using System;

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

Main is the application entry point, the method that's called automatically by the runtime when it launches the application. Any command-line arguments supplied when the application is launched are available in the args array.

Run the app

Run the following command in the Terminal:

dotnet run

The program displays "Hello World!" and ends.

The dotnet run command

Enhance the app

Enhance the application to prompt the user for their name and display it along with the date and time.

  1. Open Program.cs by clicking on it.

    The first time you open a C# file in Visual Studio Code, OmniSharp loads in the editor.

    Open the Program.cs file

  2. Select Yes when Visual Studio Code prompts you to add the missing assets to build and debug your app.

    Prompt for missing assets

  3. Replace the contents of the Main method in Program.cs, which is the line that calls Console.WriteLine, with the following code:

    Console.WriteLine("\nWhat is your name? ");
    var name = Console.ReadLine();
    var date = DateTime.Now;
    Console.WriteLine($"\nHello, {name}, on {date:d} at {date:t}!");
    Console.Write("\nPress any key to exit...");
    Console.ReadKey(true);
    

    This code displays "What is your name?" in the console window and waits until the user enters a string followed by the Enter key. It stores this string in a variable named name. It also retrieves the value of the DateTime.Now property, which contains the current local time, and assigns it to a variable named date. Finally, it displays these values in the console window.

    The \n represents a newline character.

    The dollar sign ($) in front of a string lets you put expressions such as variable names in curly braces in the string. The expression value is inserted into the string in place of the expression. This syntax is referred to as interpolated strings.

  4. Save your changes.

    Important

    In Visual Studio Code, you have to explicitly save changes. Unlike Visual Studio, file changes are not automatically saved when you build and run an app.

  5. Run the program again:

    dotnet run
    
  6. Respond to the prompt by entering a name and pressing the Enter key.

    Terminal window with modified program output

  7. Press any key to exit the program.

Additional resources

Next steps

In this tutorial, you created a .NET Core console application. In the next tutorial, you debug the app.