教程:使用 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. 在“是否信任此文件夹中的文件作者”对话框中,选择“是,我信任此作者” 。

  5. 在主菜单中选择“视图”“终端”,从 Visual Studio Code 中打开“终端”。

    “终端”在“HelloWorld”文件夹中连同命令提示符一起打开。

  6. 在“终端”中输入以下命令:

    dotnet new console --framework net6.0
    

    该项目模板通过在 Program.cs 中调用 Console.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”文件夹。

    注意

    如果未收到提示,或者意外将其关闭而未选择“是”,请执行以下步骤来创建 launch.json 和 tasks.json:

    • 从菜单中选择“运行”>“添加配置”。
    • 在“选择环境”提示符下,选择“.NET 5+ 和 .NET Core”。

    该代码将定义类 Program,其中包含一个将 String 数组用作参数的方法 MainMain 是应用程序入口点,同时也是在应用程序启动时由运行时自动调用的方法。 args 数组中包含在应用程序启动时提供的所有命令行自变量。

    在最新版本的 C# 中,名为顶级语句的新功能允许你省略 类和 Main 方法。 大多数现有 C# 程序不使用顶级语句,因此本教程不使用此新功能。 但它在 C# 10 中可用,是否在程序中使用它是样式首选项的问题。

运行应用

在“终端”中运行以下命令:

dotnet run

程序显示“Hello World!”并终止。

dotnet run 命令

增强应用

改进应用程序,使其提示用户输入名字,并将其与日期和时间一同显示。

  1. 打开 Program.cs。

  2. 将 Program.cs 中 Main 方法的内容(当前只是调用 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 键。

    包含经过修改的程序输出的“终端”窗口

  6. 按任意键退出程序。

其他资源

后续步骤

在本教程中,你创建了一个 .NET 控制台应用程序。 在下一教程中,你将调试该应用。

本教程演示如何使用 Visual Studio Code 和 .NET CLI 创建并运行 .NET 控制台应用程序。 项目任务(例如创建、编译和运行项目)通过使用 .NET CLI 来完成。 你可以遵循本教程中的步骤使用其他代码编辑器,然后在终端中运行命令(如果你愿意)。

先决条件

  1. 已安装 C# 扩展Visual Studio Code。 有关如何在 Visual Studio Code 上安装扩展的信息,请访问 VS Code 扩展市场
  2. .NET 5 SDK。 如果安装 .NET 6 SDK,请同时安装 .NET 5 SDK,否则某些教程说明将不适用。 有关详细信息,请参阅新 C# 模板生成顶级语句

创建应用

创建一个名为“HelloWorld”的 .NET 控制台应用项目。

  1. 启动 Visual Studio Code。

  2. 从主菜单中选择“文件”“打开文件夹”(在 macOS 上为“文件”“打开...”)。

  3. 在“打开文件夹”对话框中,创建“HelloWorld”文件夹,然后单击“选择文件夹”(在 macOS 上为“打开”)。

    默认情况下,文件夹名称将是项目名称和命名空间名称。 稍后将在本教程中添加代码,假定项目命名空间为 HelloWorld

  4. 在主菜单中选择“视图”“终端”,从 Visual Studio Code 中打开“终端”。

    “终端”在“HelloWorld”文件夹中连同命令提示符一起打开。

  5. 在“终端”中输入以下命令:

    dotnet new console --framework net5.0
    

用于创建简单的“Hello World”应用程序的模板。 调用 Console.WriteLine(String) 方法以在控制台窗口中显示“Hello World!”。

模板代码将定义类 Program,其中包含一个需要将 String 数组用作参数的方法 Main

using System;

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

Main 是应用程序入口点,同时也是在应用程序启动时由运行时自动调用的方法。 args 数组中包含在应用程序启动时提供的所有命令行自变量。

运行应用

在“终端”中运行以下命令:

dotnet run

程序显示“Hello World!”并终止。

dotnet run 命令

增强应用

改进应用程序,使其提示用户输入名字,并将其与日期和时间一同显示。

  1. 单击打开 Program.cs

    在 Visual Studio Code 中首次打开 C# 文件时,会在编辑器中加载 OmniSharp

    打开 Program.cs 文件

  2. Visual Studio Code 提示添加缺少的资产时选择“是”,以生成和调试应用。

    提示添加缺少的资产

  3. 将 Program.cs 中 Main 方法的内容(当前只是调用 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

    字符串前面的美元符号 ($) 使你可以将表达式(如变量名称)放入字符串中的大括号内。 表达式值将代替表达式插入到字符串中。 此语法称为内插字符串

  4. 保存更改。

    重要

    在 Visual Studio Code 中,必须显式保存更改。 与 Visual Studio 不同,生成和运行应用时不会自动保存文件更改。

  5. 再次运行程序:

    dotnet run
    
  6. 出现提示时,输入名称并按 Enter 键。

    包含经过修改的程序输出的“终端”窗口

  7. 按任意键退出程序。

其他资源

后续步骤

在本教程中,你创建了一个 .NET 控制台应用程序。 在下一教程中,你将调试该应用。

本教程仅适用于 .NET 5 和 .NET 6。 在页面顶部选择其中一个选项。