如何在VSCode中运行CMake交叉编译项目时指定自定义执行脚本?
解决VS Code中CMake交叉编译项目的自定义运行脚本配置问题
针对你提到的两种场景,都可以通过VS Code的调试配置和快捷键设置来实现用自定义仿真脚本替代直接运行目标程序:
1. 配置“CMake: Run Without Debugging”命令的执行逻辑
打开VS Code的运行和调试面板(Ctrl+Shift+D),点击“创建launch.json文件”,选择C++相关模板后,修改配置内容如下:
{ "version": "0.2.0", "configurations": [ { "name": "CMake: Run Without Debugging", "type": "cppdbg", // 若使用MSVC工具链可改为cppvsdbg "request": "launch", "program": "${workspaceFolder}/scripts/your_emulator_script.sh", // 替换为你的仿真脚本路径 "args": ["${command:cmake.launchTargetPath}"], // 将CMake生成的目标程序路径作为参数传给脚本 "cwd": "${workspaceFolder}", "externalConsole": true, // 根据需要选择是否显示外部控制台 "stopAtEntry": false } ] }
保存后,执行“CMake: Run Without Debugging”命令时,VS Code会调用你的仿真脚本并传入目标可执行文件路径,而非直接运行无法在宿主系统执行的程序。
2. 绑定快捷键到自定义运行逻辑
打开键盘快捷设置(Ctrl+K Ctrl+S),搜索“CMake: Run Without Debugging”,右键点击该命令选择“更改键绑定”,设置你习惯的快捷键组合;或者直接编辑keybindings.json添加以下配置:
{ "key": "ctrl+f5", // 替换为你想要的快捷键 "command": "workbench.action.debug.run", "args": "CMake: Run Without Debugging" }
这样按下快捷键时,就会触发你配置的自定义运行流程。
另外,确保你的仿真脚本具备可执行权限(Linux/macOS下执行chmod +x your_emulator_script.sh),并且脚本能正确处理传入的目标程序路径参数。
内容的提问来源于stack exchange,提问作者Bri Bri
相关产品推荐
相关产品推荐

