使用 VS Code 和 CMake 工具运行自定义命令

问题描述 投票:0回答:1

我正在使用带有 CMake 工具扩展的 VS Code,并且我想运行一个简单的 MPI 程序。一切都编译得很好,我可以使用

在终端中运行我的代码
mpiexec -n 6 "path-to-my-workspace\build\my-executable.exe"

但是,我想进行一些设置,以便当我按 Control + Shift + P >“CMake:运行而不调试”(或 Shift F5)时自动执行。

我在 CMake 工具文档中读到,我可以在 launch.json 文件中创建新的启动目标。但是,VS Code 文档指出

launch.json 文件用于在 Visual Studio Code 中配置调试器。

我想要它用于调试,但也用于发布。我还应该使用 launch.json 文件吗?过去当我需要将参数传递给我的主函数时,我遇到了同样的问题。使用 CMake 工具在 VS Code 中执行此操作的正确方法是什么?

c++ visual-studio-code cmake mpi
1个回答
0
投票

这听起来像是两个与术语相关的混乱案例。

  1. 在 VS Code 中,有“运行代码”和“运行而不调试”的操作。您可以在这个问题中找到更多关于两者之间区别的信息。简而言之,“运行代码”在调试器程序(如 gdb)中运行程序,“运行而不调试”也运行该程序,但不在调试器程序中运行它。

  2. 两种最常见的构建模式是“调试”和“发布”,其中调试包含启用在调试器中运行的调试符号,而发布则不包含调试符号,而是通过更多优化进行构建。 VS Code 可以运行两种类型的构建而无需调试,并且可以在调试器中运行调试构建。对于发布版本,它只能在调试器之外运行。

您指定只关心在调试器之外运行。

回答您的问题“我是否仍应使用 launch.json 文件?”,是的,您仍可以使用 launch.json 文件。

要使用调试器运行,请注意,您可以使用

cmake.debugConfig
设置,它将与 CMake 工具为调试目标提供的功能集成。

另外,注意

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

另一个注意事项:如果您想要运行的程序不是项目的构建输出,那么您可能想使用

tasks.json

© www.soinside.com 2019 - 2024. All rights reserved.