我在另一台机器上的Windows 10上安装了VS 2022 Community,它没有相同的插件。正如标题所说,在Windows 11上,当运行使用/SUBSYSTEM:CONSOLE
的c++项目时,无论是否调试(F8),连续运行都不会打开新的控制台窗口。相反,它们会清除现有的控制台窗口,并使用该窗口输出stdio。
我可以通过在程序末尾添加system("pause");
或任何其他用户输入的IO函数来改变这个问题,以防止退出main(),但我想知道是什么导致了这个非常烦人的问题。
我已经看过所有的VS选项和项目设置,以及Windows 11控制面板终端设置,没有运气。这是发生在一台全新的计算机上,安装VS 2022。这个问题发生在两个项目类型下“创建一个新项目”>“控制台应用程序”或“空项目”。如果我创建一个Windows桌面应用程序,用int main() {}
替换源cpp文件中的所有内容,并将/SUBSYSTEM:WINDOWS
更改为/SUBSYSTEM:CONSOLE
。
1条答案
按热度按时间g9icjywg1#
尽管这是一个known bug confirmed by Microsoft,我不得不自己解决它。这里有一个工作区,我希望对其他人有用。
创建外部工具:
1.选择:
Tools > External Tools > Add
1.标题:
RunWithoutDebugging
1.命令:
cmd.exe
1.参数:
/c "$(TargetName) & pause"
(或者,可以删除& pause
并删除“Close on exit”)1.初始目录:
$(TargetDir)
创建快捷键:
1.选择:
Tools > Options > Environment > Keyboard
1.在显示命令中键入
Tools.ExternalCommand
,其中包含:1.选择
Tools.ExternalCommandX
,其中X是RunWithoutWeightTool的菜单项编号。1.单击
Press shortcut keys:
并使用CTRL-F11使其像内置的“RunWithoutdoor”命令一样运行,或者使用您选择的其他组合键。