【问题标题】:How to set ROS_PACKAGE_PATH environment variable before starting debug environment in VSCode?在 VSCode 中启动调试环境之前如何设置 ROS_PACKAGE_PATH 环境变量?
【发布时间】:2022-01-14 12:23:38
【问题描述】:

我想在 ROS 调试会话开始之前将 /home/sanya/work/ORB_SLAM3/Examples/ROS 添加到 ROS_PACKAGE_PATH 变量中。如果没有添加,调试器将不会启动,因为它找不到包。 我想在 ROS 调试开始之前导出变量。

我已经尝试过的:

我尝试以两种不同的方式将其作为环境变量添加到 launch.json 中:

第一种方式:

{
    "name": "ROS: Launch + build (release)",
    "type": "ros",
    "request": "launch",
    "target": "/home/sanya/work/ORB_SLAM3/Examples/ROS/ORB_SLAM3/launch/ORB_SLAM3_bag.launch",
    "env": {"ROS_PACKAGE_PATH": "/opt/ros/melodic/share:/home/sanya/work/ORB_SLAM3/Examples/ROS"}
}

第二种方式:

{
    "name": "ROS: Launch + build (release)",
    "type": "ros",
    "request": "launch",
    "target": "/home/sanya/work/ORB_SLAM3/Examples/ROS/ORB_SLAM3/launch/ORB_SLAM3_bag.launch",
    "environment": [{"name": "ROS_PACKAGE_PATH", "value": "/opt/ros/melodic/share:/home/sanya/work/ORB_SLAM3/Examples/ROS"}]
}
我尝试将其添加到.env 文件中,并在launch.json 中设置envFile 属性:

.env文件:

ROS_PACKAGE_PATH=/opt/ros/melodic/share:/home/sanya/work/ORB_SLAM3/Examples/ROS

launch.json文件:

{
    "name": "ROS: Launch + build (release)",
    "type": "ros",
    "request": "launch",
    "target": "/home/sanya/work/ORB_SLAM3/Examples/ROS/ORB_SLAM3/launch/ORB_SLAM3_bag.launch",
    "envFile": "${workspaceFolder}/.env"
}
我尝试添加prelaunchTask:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/sanya/work/ORB_SLAM3_multi/Examples/ROS

此选项有效——export 发生(我在检查后运行echo $ROS_PACKAGE_PATH)——但调试会话在不同的终端开始(如果我理解正确的话)并且变量不会设置为正确的值在调试会话中。

唯一有效的方法是将其添加到.bashrc 文件中。这对我来说不太好,因为我有同一个库的修改版本,我想同时使用它们(我会将修改后的版本与原始版本进行基准测试),我不想修改 @ 987654337@文件每次切换2个版本时。

还有其他选项可以将变量导出到 VSCode 调试环境吗?

【问题讨论】:

    标签: debugging visual-studio-code ros


    【解决方案1】:

    (我维护 Microsoft VSCode ROS 扩展。) 该扩展从其启动的 ROS 环境中继承了大部分环境,因此如果您需要设置环境变量(或重新定位 ROS),您可以在终端中设置它们并从终端启动代码。

    我创建了一个功能请求 - https://github.com/ms-iot/vscode-ros/issues/646,并将其分配给我现在正在开发的 0.8.0。

    【讨论】:

    • 非常感谢您的回答和您所做的工作。扩展很棒,期待0.8.0!
    猜你喜欢
    • 2021-01-15
    • 2023-01-24
    • 2020-02-24
    • 2021-10-08
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    相关资源
    最近更新 更多