如何使用新的 Windows 终端作为 Visual Studio 调试控制台

问题描述 投票:0回答:6

如何将新的 Windows 终端应用程序设置为 Visual Studio 2019 中的调试控制台? 默认情况下,当我调试时它会启动

cmd.exe

visual-studio console windows-terminal
6个回答
11
投票

与 Windows 11(或 Windows Insider 程序开发频道)结合发布 Windows 终端 1.12 后,现在可以设置默认终端并指向 Windows 终端。完成此操作后,在 Visual Studio 中调试控制台应用程序时,Visual Studio 调试控制台将托管在 Windows 终端中(在 vs2022 中测试)!


8
投票

在 Windows 10 上

为了补充@Bravo的答案,我还尝试在Windows注册表中搜索专用于Visual Studio的注册表区域中的“cmd”、“cmd.exe”等变体,但似乎找不到任何内容。

在 Visual Studio 相关目录中搜索 *.config、*.xml、*.json 似乎也没有产生任何有用的结果。

目前,我已在开发者社区请求此功能。如果您觉得有意义,您可以考虑对该功能进行投票。

在 Windows 11 上

请参阅 olabacker 的回答,也许还可以关注上面引用的开发者社区讨论以获取更多信息。


3
投票

这并不是一个真正的答案,但我想解决一个常见的误解。 Visual Studio 不会启动

cmd.exe
,它只是启动您的应用程序。与
cmd.exe
本身非常相似,您的应用程序是一个在终端内运行的控制台应用程序,为此 Windows 运行一个终端模拟器,该模拟器显示一个 GUI 窗口,该窗口呈现文本并将您的输入传递回应用程序。

在 Windows 上,此终端传统上由 Windows 控制台主机或

conhost.exe
处理。在 Windows 11* 之前,您不允许更改默认终端模拟器。他们确实更改了 Windows 10 中控制台 API 的后端架构(例如参见这篇博文),以便可以运行您自己的终端模拟器,这就是 Windows Terminal 所实现的。

我的主要观点是,对于那些提到

cmd.exe
的人,你真正的意思是
conhost.exe

* 更新 2023:现在也可以在 Windows 10 中配置不同的默认终端。


1
投票

目前尚不支持,请参阅 github 问题 更改 Windows 操作系统以支持默认终端 [defterm] · Issue #492 · microsoft/terminal

但是也许你可以尝试下面,找到

Windows Terminal
的可执行文件,即
wt.exe
wtd.exe
并记录
path
,然后在VS的配置中找到使用
path
代替
cmd.exe

希望对您有帮助!


1
投票

现在可以通过 Windows 10 和 Windows 11 中的最新 Windows 终端实现此操作。您只需将 Windows 终端设置为默认终端应用程序即可:

Windows Terminal
>
Settings
>
Startup
>
Default terminal application
:
Windows Terminal


0
投票

你也可以运行Windows终端,在其中启动你的控制台应用程序,将VS的调试器附加到Windows终端上的控制台应用程序。

有用的链接:

调试控制台

使用 Visual Studio 调试器附加到正在运行的进程

© www.soinside.com 2019 - 2024. All rights reserved.