如何将新的 Windows 终端应用程序设置为 Visual Studio 2019 中的调试控制台? 默认情况下,当我调试时它会启动
cmd.exe
。
与 Windows 11(或 Windows Insider 程序开发频道)结合发布 Windows 终端 1.12 后,现在可以设置默认终端并指向 Windows 终端。完成此操作后,在 Visual Studio 中调试控制台应用程序时,Visual Studio 调试控制台将托管在 Windows 终端中(在 vs2022 中测试)!
在 Windows 10 上
为了补充@Bravo的答案,我还尝试在Windows注册表中搜索专用于Visual Studio的注册表区域中的“cmd”、“cmd.exe”等变体,但似乎找不到任何内容。
在 Visual Studio 相关目录中搜索 *.config、*.xml、*.json 似乎也没有产生任何有用的结果。
目前,我已在开发者社区请求此功能。如果您觉得有意义,您可以考虑对该功能进行投票。
在 Windows 11 上
请参阅 olabacker 的回答,也许还可以关注上面引用的开发者社区讨论以获取更多信息。
这并不是一个真正的答案,但我想解决一个常见的误解。 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 中配置不同的默认终端。
目前尚不支持,请参阅 github 问题 更改 Windows 操作系统以支持默认终端 [defterm] · Issue #492 · microsoft/terminal
但是也许你可以尝试下面,找到
Windows Terminal
的可执行文件,即wt.exe
或wtd.exe
并记录path
,然后在VS的配置中找到使用path
代替cmd.exe
。
希望对您有帮助!
你也可以运行Windows终端,在其中启动你的控制台应用程序,将VS的调试器附加到Windows终端上的控制台应用程序。
有用的链接: