Un point de vue plus actuel sur la situation. Au cours de l'année 2018, l'extension C++ a ajouté une autre option à la configuration. compilerPath
de la c_cpp_properties.json
fichier ;
compilerPath
(facultatif) Le chemin absolu vers le compilateur que vous utilisez pour construire votre projet. L'extension interrogera le compilateur pour déterminer les chemins d'inclusion du système et les définitions par défaut à utiliser pour IntelliSense.
Si elle est utilisée, la includePath
ne serait pas nécessaire puisque l'IntelliSense utilisera le compilateur pour déterminer les chemins d'inclusion du système.
A l'origine,
Comment et où puis-je ajouter des chemins d'inclusion dans les configurations ci-dessous ?
La liste est un tableau de chaînes, donc l'ajout d'un chemin d'inclusion ressemblerait à quelque chose comme ;
"configurations": [
{
"name": "Mac",
"includePath": ["/usr/local/include",
"/path/to/additional/includes",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include"
]
}
]
Source ; blog cpptools 31 mars 2016 .
La source liée a un gif montrant le format pour la configuration Win32, mais la même chose s'applique aux autres.
L'exemple ci-dessus inclut le chemin du SDK (OSX 10.11) si Xcode est installé. .
Note Je trouve que la mise à jour peut prendre un certain temps une fois que le chemin d'inclusion a été modifié.
L'extension cpptools peut être trouvé ici .
Une documentation supplémentaire (de Microsoft) sur la prise en charge du langage C++ dans VSCode peut être consultée à l'adresse suivante trouvé ici .
Dans un souci de préservation (de la discussion), voici des extraits de base du contenu du fichier tasks.json pour compiler et exécuter un fichier C++ ou un fichier C. Ils autorisent les espaces dans le nom du fichier (ce qui nécessite d'échapper les guillemets supplémentaires dans le fichier json en utilisant la commande \"
). Le shell est utilisé comme le coureur permettant ainsi la compilation ( clang...
) et l'exécution ( && ./a.out
) du programme. Il suppose également que le fichier tasks.json "vit" dans l'espace de travail local (sous le répertoire .vscode). D'autres détails du fichier task.json, tels que les variables supportées, etc. peuvent être consultés à l'adresse suivante trouvé ici .
Pour le C++ ;
{
"version": "0.1.0",
"isShellCommand": true,
"taskName": "GenericBuild",
"showOutput": "always",
"command": "sh",
"suppressTaskName": false,
"args": ["-c", "clang++ -std=c++14 -Wall -Wextra -pedantic -pthread \"${file}\" && ./a.out"]
}
Pour C ;
{
"version": "0.1.0",
"isShellCommand": true,
"taskName": "GenericBuild",
"showOutput": "always",
"command": "sh",
"suppressTaskName": false,
"args": ["-c", "clang -std=c11 -Wall -Wextra -pedantic -pthread \"${file}\" && ./a.out"] // command arguments...
}