【问题标题】:Can't Read Environment Variable $HOME inside VSCode ROS Debugger无法在 VSCode ROS 调试器中读取环境变量 $HOME
【发布时间】:2022-01-11 01:46:10
【问题描述】:

我有一个非常简单的启动文件,如下所示:

<launch>
  <arg name="dataset_dir" default="$(env HOME)/mnist" doc="location to the dataset" />
  <node name="listener" pkg="package_a" type="listener.py" output="screen"/>
  <node name="talker" pkg="package_a" type="talker" output="screen"/>
</launch>

在 VSCode ROS Debugger 中运行时,显示如下错误:

请看launch.json文件的内容:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ROS: Launch",
            "request": "launch",
            "target": "/home/ravi/catkin_ws/src/package_a/launch/bringup.launch",
            "type": "ros"
        }
    ]
}

代码在普通终端中运行良好,但在 VSCode 中显示错误。

我在 Ubuntu 18.04.6 LTS 操作系统中的 ROS Melodic 上使用 VSCode v1.62.3。

【问题讨论】:

    标签: visual-studio-code environment-variables ros vscode-extensions vscode-debugger


    【解决方案1】:

    这是在https://github.com/ms-iot/vscode-ros/issues/566 下跟踪的。 如果您从终端窗口启动code,它将继承环境变量。或者您可以在启动配置中添加一个“env”选项,例如:

            {
                "name": "ROS: Launch",
                "request": "launch",
                "env": [
                  "HOME": "/home/ravi"
                ]
                "target": "/home/ravi/catkin_ws/src/package_a/launch/bringup.launch",
                "type": "ros"
            }
    

    【讨论】:

    • (1) 我尝试在启动配置中添加env 选项。但它没有用。我认为env 应该是字典而不是列表。请确认。 (2) 在为 ROS 及其工作区采购setup.bash 之后,我从终端启动了code。但是,仍然出现相同的错误。请确认。
    猜你喜欢
    • 2020-02-24
    • 2021-01-15
    • 2019-11-21
    • 1970-01-01
    • 2014-08-16
    • 2019-07-16
    • 2021-06-15
    • 2015-07-17
    • 2013-06-07
    相关资源
    最近更新 更多