web-dev-qa-db-fra.com

Configuration VSCode avec ROS et Auto complète

Je me lance de configurer VSCode avec ROS pour avoir la fonction automatique. Je suis habitué à utiliser VSCode avec QT et OpenCV et tout a fonctionné bien. Par exemple, pour OpenCV, je viens de modifier c_cpp_propreties.json comme ça:

{
"configurations": [
    {
        "name": "Linux",
        "includePath": [
            "${workspaceFolder}/**",
            "/usr/local/include/opencv4/opencv2"
        ],
        "defines": [],
        "compilerPath": "/usr/bin/gcc",
        "cStandard": "gnu11",
        "cppStandard": "gnu++14",
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4

}

L'auto-complétaire pour OpenCV fonctionne bien alors (j'ai le C++ IntelliSense Extension). Mais ensuite, dès que j'essaie de spécifier le dossier include de ROS dans le c_cpp_propreties.json, rien ne fonctionne plus, pas même l'achèvement automatique de l'OPENCV:

{
"configurations": [
    {
        "name": "Linux",
        "includePath": [
            "${workspaceFolder}/**",
            "/usr/local/include/opencv4/opencv2",
            "/opt/ros/melodic/include"
        ],
        "defines": [],
        "compilerPath": "/usr/bin/gcc",
        "cStandard": "gnu11",
        "cppStandard": "gnu++14",
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4

}

C'est comme que la Ros bloque tout. Qu'est-ce que je fais mal? Je spécifie que je clique sur "Ouvrir le dossier" dans VSCode et parcourez le paquet ROS pour le charger. Je travaille sur Ubuntu 18.04 LTS.

13
DiXcipuli

Dans le fichier .vscode/c_cpp_properties.json (généré par le vscode ROS Extension ), essayez de passer de "cppStandard": "gnu++14" à "cppStandard": "c++14".

ROS utilise la norme C++ 14 standard , alors spécifiant gnu++14 semble briser des choses. Cela a été déduit de cette question .

A numéro existe à ce sujet.

1
LoW