在VS2022中的wsl2中调试控制台时读取输入

Gor*_*rid 9 visual-studio windows-subsystem-for-linux wsl-2 .net-6.0 visual-studio-2022

我在 Visual Studio 2022 中创建了一个控制台应用程序,只有两行 WriteLine 和 ReadLine。在 Windows 上调试它时,会打开一个控制台,显示输出并等待输入。但是,如果我将其切换到 WSL 调试,我会在 \xe2\x80\x9cOutput\xe2\x80\x9d 窗口中得到输出,但我没有找到任何方法将任何数据输入到程序的标准输入,从而得到卡在阅读行。有办法做到这一点吗?也许让 Visual Studio 打开控制台窗口,而不是像 Windows 应用程序那样使用 Visual Studio 中的输出窗口?

\n

小智 2

不幸的是,WSL 尚未提供读取 VS2022 上击键的控制台。我能找到的更好的方法是launchSettings.json在输出之前使用默认的 WSL 进行调试,以发现一些错误并在输出之后创建一个新的调试设置。问题是需要手动将运行的控制台应用程序附加到 VS2022 调试器。但至少是一个解决方法。

{
  "profiles": {
    "ConsoleApp": {
      "commandName": "Project"
    },
    "WSL2": {
      "commandName": "Executable",
      "executablePath": "wsl",
      "commandLineArgs": "dotnet ConsoleApp.dll [commandLineArgs]"
    },
    "WSL": {
      "commandName": "WSL2",
      "distributionName": ""
    }
  }
}
Run Code Online (Sandbox Code Playgroud)