预启动任务和启动可以在VSCode的同一终端内启动吗?
Can preLaunchTask and launch start within the same terminal in VSCode?
我正在使用VSCode调试我的CPP代码。我需要在代码运行之前使用 preLaunchTask 来设置我的环境。所以我的代码应该在 preLaunchTask 之后在同一终端中运行。但它现在从两个不同的终端开始。我该怎么做?
顺便说一句,下次我如何在同一个终端中启动该过程?下次某些进程将启动另一个终端,我很困惑。
我的预启动任务:
{
"label": "source_setup",
"type": "shell",
"command": "source ./devel/setup.zsh && export ROS_MASTER_URI=http://localhost:11311/ "
},
如@isidorn在此 vscode GitHub 问题中所述,此功能目前尚不受支持。同时,人们可以通过将以下代码添加到他们的.bashrc
来实现所需的行为
# Source ros setup.bash if present
if [ -f '../devel/setup.bash' ]; then . "../devel/setup.bash";fi
如果您不想在任务运行后手动切换到终端,这里有一个很好的解决方法:
将此行添加到您的launch.json
配置中:
"internalConsoleOptions": "openOnSessionStart"
这将在任务脚本完成运行后切换到终端视图。
我认为你可以只使用envFile
属性。
在我的例子中,启动调试看起来像这样(这个由python使用,但它在运行之前也需要采购./devel/setup.bash
(:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current ROS File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"envFile": "${workspaceFolder}/devel/setup.bash"
}
]
}
相关文章:
- 如何在linux终端中同时编译和运行c++代码
- 如何创建一个空的全局类并在启动时实例化它
- 终端不会为C++文件创建.exe文件吗
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 即使我读取了所有内容,在FIFO上打开的QSocketNotifier也会一直启动
- 使用 std::string () const 函数启动线程或未来
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- 用于窗口的 HID 终端
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- 如何创建线程序列以按照启动顺序执行任务?
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 在挂钩启动新线程时解除挂钩进程
- 预启动任务和启动可以在VSCode的同一终端内启动吗?
- 如何在新的终端窗口中启动 ./a.out
- 如何先启动另一个终端任务
- 为什么终端需要这么长时间才能启动?c++
- 如何在特定文件夹中启动终端
- 如何从终端启动C应用程序,并将参数传递给int main(int argc,char*argv[])