为什么 Console.WriteLine 在 Visual Studio 代码中不起作用?

Why doesn't Console.WriteLine work in Visual Studio Code?

我在 Visual Studio Code 上安装了 scriptcs 和 code运行ner。当我 运行 一个包含 Console.WriteLine("Test") 的简单程序时,我没有看到任何输出。该程序似乎 运行 成功并以代码 0 退出。

有什么建议吗?

以下是所有代码,以防有人感兴趣:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Test");
    }
}

如果您按 ctrl+F5,它将显示您的输出。您将在控制台 window 中获得输出。另一个解决方案,如果你会写 Console.ReadLine();在 console.writeline 之后,它将保持打开控制台 window,直到您不再按任何键。

您需要添加以下任一行代码

Console.Readline()
Console.Read()
Console.ReadKey()

示例:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Test");
        Console.ReadLine();
    }
}

代码确实编译了,然后 运行 但速度不是很快,控制台应用程序在执行后自行关闭。为了防止这种情况发生,您需要添加另一种方法,例如:

  • Console.Read();

  • Console.Read行();

Line代表换行,即光标向左移动到下一行)。

这样,如果您按键盘上的 'enter' 键,应用程序将关闭。

在 launch.json 中应该有一个名为 'console' 的字段:

更改自:

  "console": "internalConsole",

收件人:

  "console": "externalTerminal",

帮我修好了。

你需要这样做

Console.WriteLine("Hello");
string name = Console.ReadLine();

如果您只是尝试 运行 一个没有项目的 cs 文件等,那么问题是代码 运行ner 将文件视为脚本。因此,实际上并没有调用 main 方法,就像 运行 控制台应用程序一样。

因此,解决方案是使您的主要方法 public 并添加对 Program.Main(null) 的调用;在 class 定义之后。此解决方案不需要任何 launch.json 配置文件或配置更改。请注意,在 class 定义之后对 Program.Main 的调用在 VS 代码中确实显示为错误,但它 运行 在代码 运行 中没问题。请参阅下面的代码块。

using System;
class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Test");
    }
}

Program.Main(null);

我在这里找到了答案:

另一种方法是使用 Debug.WriteLine("test"),它会写入立即数 window。需要使用 System.Diagnostics