VS Code 中运行代码与不调试运行的区别

Div*_*nda 10 c++ visual-studio-code

我是 cpp 编程的新手,使用 Visual Studio 代码,我不明白 Ctrl + Alt + N(运行代码)和 Ctrl + F5(运行而不调试)之间有什么区别。

在此输入图像描述

在此输入图像描述

Ans*_*onH 9

Ctrl+Alt+N(运行代码)是您安装的“Code Runner”扩展提供的快捷方式。它无需调试即可运行代码。

Ctrl+F5(调试:启动而不调试)是 VS Code 默认快捷方式。尽管它的名字如此,但它实际上是通过调试来运行 C++ 代码的。这是因为根据VS Code 文档

提示:“运行”操作始终可用,但并非所有调试器扩展都支持“运行”。在这种情况下,“运行”将与“调试”相同。

显然,C/C++ 扩展不支持“运行”,因此Ctrl + F5将启动调试会话。


ahc*_*cox 9

CTRL-F5 就是 F5

可能值得注意的是,因为它被标记为c++CTRL-F5自2021 年 8 月 23 日起,不调试运行实际上是通过调试运行的。根据这些文档,这是应用程序的规范,“提示:运行操作始终可用,但并非所有调试器扩展支持“运行”。在这种情况下,“运行”将与“调试”相同。

SHIFT-F5 不是万能药

SHIFT-F5相比之下,来自标准 C++ 扩展的运行无需调试,但运行由其自身机制设置的目标,而不是 和 使用的当前启动F5配置CTRL-F5。由于它绕过launch.json启动配置,因此它不允许您更改应用程序的当前工作目录的位置或向其传递命令行参数。

  • “运行与调试相同”让我发疯。我不想每次运行程序时都启动调试器。你知道如何恢复原来的行为吗?我只想编译并运行一个没有任何复杂扩展名的 c/c++ 文件。Shift+F5 不执行任何操作(甚至没有定义为键绑定),而 Ctrl+F5 只是像 F5 一样运行调试器。 (3认同)