Ubuntu et Visual Studio Code: C ++ Intellisense ne fonctionne pas correctement

J’ai récemment effectué le passage de Sublime Text à Visual Studio Code. J’utilise Ubuntu 16.04 LTS.

Le problème que je ne peux pas résoudre est de faire fonctionner Intellisense. J’ai l’extension C / C ++ installée.

Le fichier de propriétés JSON ressemble à ceci:

{ "configurations": [ { "name": "Mac", "includePath": [ "${workspaceRoot}", "/usr/include", "/usr/local/include" ], "defines": [], "browse": { "path": [ "/usr/include", "/usr/local/include" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } }, { "name": "Linux", "includePath": [ "${workspaceRoot}", "/usr/include/c++/5", "/usr/include/x86_64-linux-gnu/c++/5", "/usr/local/include", "/usr/include", "/usr/include/x86_64-linux-gnu" ], "defines": [], "browse": { "path": [ "/usr/include/c++/5", "/usr/include/x86_64-linux-gnu/c++/5", "/usr/local/include", "/usr/include", "/usr/include/x86_64-linux-gnu" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } }, { "name": "Win32", "includePath": [ "${workspaceRoot}", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include" ], "defines": [ "_DEBUG", "UNICODE" ], "browse": { "path": [ "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/*" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } } ] 

}

J’ai essayé Intellisense avec un programme simple comme celui-ci:

 #include  #include  using namespace std; int main(){ vector vec; return 0; 

}

Chaque fois que je tape vec (et que j’appuie sur STRG + SPACE pour Intellisense), je reçois la bonne réponse d’Intellise, qui montre beaucoup de suggestions pour le vecteur.

Le problème que j’ai maintenant, c’est que lorsque j’entre dans vec. Je m’attendrais à ce que les méthodes de classe soient montrées d’Intellisense. Mais je ne reçois pas les bonnes suggestions.

Par exemple, si je saisis vec.pu (et que j’appuie sur STRG + SPACE pour Intellisense), je m’attendrais à recevoir une suggestion pour la méthode push_back (), que je n’obtiens pas.

Quelqu’un at-il un correctif pour cela ou a-t-il rencontré le même problème?

J’utilise la version c ++ suivante: g ++ (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.4) 5.4.0 20160609

Les fichiers d’en-tête c ++ se trouvent là, vous les attendez:

/ usr / include / c ++

Il y a deux dossiers ici:

/ usr / include / c ++ / 5

et:

/usr/include/c++/5.4.0

Le fichier JSON a le premier dossier référencé … je suppose que c’est correct. J’ai essayé d’append le second dossier au fichier JSON. Mais cela n’a pas résolu le problème. Intellisense trouve jusqu’ici tout ce qu’il devrait, à l’exception des méthodes des classes stl par exemple. Ça me botte vraiment

Quelqu’un peut-il aider?