vscode的终端-运行生成任务 命令本来就不是运行程序,而是指运行tasks.json的意思,运行它后会生成一个可执行程序。只要生成了就是完成任务了。任务完成后就会显示 “终端将被任务重用,按任意键关闭”,这是正常的。总之,终端-运行生成任务的命令不是运行可执行程序,而是指运行tasks.json。“运行”这2个字容易造成误解。
要运行tasks成功生成的可执行程序 需要用运行菜单下的 启动调试或以非调试模式运行 命令,它会在另一个终端窗口中运行我们写的程序。这2个命令才是真正的运行。
其中macos里的调试有点儿问题,在launch.json里"externalConsole": 改为true才能在外部终端运行,如果是默认的false,macos里这里有个bug,不能在集成终端里运行程序!而windows和linux都没问题。下图是linux里。