鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    ROS插件无法代码提示/代码补全

    已定时 已固定 已锁定 已移动
    工具软件
    代码补全 代码提示 vscode
    2
    2
    1.3k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 2
      203597428
      最后由 编辑

      标题:ROS插件无法代码提示/代码补全

      问题描述:

      使用一键安装工具安装了vscode,ros插件以及C++,python插件也已经安装,但是无法进行代码补全。

      具体细节和上下文:

      • 发帖日(2024.8.22)使用一键安装工具安装ros(noetic),而后一键安装的vscode

        版本号为版本: 1.86.2
          提交: 903b1e9d8990623e3d7da1df3d33db3e42d80eda
          日期: 2024-02-13T19:41:37.860Z
          Electron: 27.2.3
          ElectronBuildId: 26908389
          Chromium: 118.0.5993.159
          Node.js: 18.17.1
          V8: 11.8.172.18-electron.0
          OS: Linux x64 5.15.0-119-generic- 
        
      • 安装了ros插件、python插件以及C/C++插件

      yuri0-2024-08-22-15-21-05.png

      尝试过的解决方法:

      将c_cpp_properties.json文件下面的"cppStandard": "c++14"修改成“c++17”,依然不能代码补全,其余未作修改。

      附c_cpp_properties.json文件完整代码:

      {
        "configurations": [
          {
            "browse": {
              "databaseFilename": "${default}",
              "limitSymbolsToIncludedHeaders": false
            },
            "includePath": [
              "/opt/ros/noetic/include/**",
              "/usr/include/**"
            ],
            "name": "ROS",
            "intelliSenseMode": "gcc-x64",
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu17",
            "cppStandard": "c++17"
          }
        ],
        "version": 4
      }
      
      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        针对你遇到的ROS插件在VSCode中无法进行代码提示和代码补全的问题,我们可以从几个方面来排查和解决:

        1. 检查插件安装和配置

        首先确保你已经正确安装了ROS相关的VSCode插件,如ROS(由ms-iot发布)和C/C++(由ms-vscode.cpptools发布)。同时,确保Python插件(如果你正在使用Python进行ROS开发)也已正确安装。

        2. 检查c_cpp_properties.json

        你提供的c_cpp_properties.json文件看起来基本正确,但可能还需要确保以下几点:

        • includePath:确保这个路径包含了所有ROS和你的项目需要的头文件。你可能需要添加更多特定于你项目的目录。
        • compilerPath:虽然你设置了GCC的路径,但如果你使用的是Clang或其他编译器,可能需要调整这个设置。ROS Noetic通常使用GCC 9,你可以检查是否已安装并设置为默认。
        • intelliSenseMode:这个设置通常与你的编译器兼容。如果你使用的是GCC,gcc-x64是正确的。

        3. 重启VSCode

        有时候,简单地重启VSCode可以解决插件未正确加载或配置未生效的问题。

        4. 检查ROS环境

        确保你的ROS环境(如source /opt/ros/noetic/setup.bash)已经在VSCode的终端或你的shell中正确设置。这可以通过在VSCode的终端中运行roscore来测试。

        5. 查看VSCode输出和终端

        • 打开VSCode的“输出”面板(通过查看 > 输出或使用快捷键Ctrl+Shift+U),选择C/C++以查看是否有任何与智能感知或代码补全相关的错误或警告。
        • 同样,在VSCode的“终端”中运行你的ROS命令,看是否有任何错误输出。

        6. 清理和重建项目

        如果你的项目有编译问题,这也可能影响到VSCode的代码补全。尝试清理并重新构建你的项目。

        7. 检查ROS工作区

        如果你是在一个特定的ROS工作区中工作,确保VSCode已经打开了这个工作区的根目录。这有助于VSCode正确识别并索引你的项目文件。

        8. 升级VSCode和插件

        确保你的VSCode和所有相关插件都是最新版本。有时候,插件的更新可以解决已知的bug或提供新的功能。

        9. 查看文档和社区

        如果以上步骤都不能解决问题,查看VSCode和ROS插件的官方文档,或在ROS社区和VSCode的GitHub仓库中搜索或提问。

        希望这些步骤能帮助你解决代码补全的问题!如果还有其他问题,欢迎继续提问。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS