在VS2019中,默认情况下,按F5调试控制台应用程序时,VS会启动一个新的CMD并在其中运行代码。可以让VS代替内置终端吗?
答案 0 :(得分:1)
是否可以使用内置终端调试应用程序
我认为您无法如愿以偿。
尽管,控制台窗口显示它来自C:\windows\system32\cmd.exe
,实际上,它是一种特殊的服务(而不是真正的cmd.exe
),例如Win7,带有conhost.exe
。
根据您的描述,可能希望在调试此控制台应用程序时在其上运行一些命令,例如developer command prompt for VS2019
而不是默认命令
但是,控制台应用程序的项目类型由该设计。没有任何操作, Microsoft 由于某些原因不支持更改它。
建议
如果您仍然希望使用此功能,可以在我们的User Voice Forum上建议一个功能,团队将仔细考虑您的想法。此外,您可以在此处与我们共享链接。任何对此感兴趣的人都将对其投票,以便引起团队的注意。
更新1
要添加更多详细信息,请执行以下操作:
实际上,它具有在任何其他程序(如powershell或任何其他可执行程序)中调试控制台应用程序的功能。
在我这边,我使用了Powershell:
ConsoleApp11.exe
只是当前项目的输出文件的名称。
然后单击开始调试,它可以在开始时启动 powershell ,但它会破坏整个过程,例如,您无法击中断点并返回立即关闭。
也, VS内置终端(C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat
)只是一个bat文件,而不是可执行文件(.exe
文件),从根本上讲也是无法实现的。
这就是为什么我一开始就告诉你这不会发生的原因。
与x0n said一样,控制台子系统只是一个与cmd.exe
提供公共服务的应用程序框架,当项目运行时,它实际上并未运行CMD,因此替换它并不现实。
就像我建议的那样,您可以将请求发送给VS小组,希望他们能给您满意的答复。