web-dev-qa-db-fra.com

Code Visual Studio includePath

J'essaie de construire C/C++ dans le code Visual Studio. J'ai installé C/C++ et toutes les extensions pertinentes.

#include <stdio.h>
int main() {
    printf("Test C now\n");
    return 0;
}

Mais il y a une ligne verte sous #include <stdio.h> disant "Ajouter un chemin d'accès aux paramètres". Lorsque je clique dessus, il passe à "c_cpp_properties.json".

Comment et où puis-je ajouter des chemins d'inclusion dans les configurations ci-dessous?

"configurations": [
    {
        "name": "Mac",
        "includePath": ["/usr/include"]
    }
]
35
stdio.h

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"
        ]
    }
]

La source; Blog de cpptools 31 mars 2016 .

La source liée a un gif indiquant le format de la configuration Win32, mais il en va de même pour les autres.

L'exemple ci-dessus inclut le chemin du SDK (OSX 10.11) si Xcode est installé.

Note Je pense 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ée ici .

Une documentation supplémentaire (fournie par Microsoft) sur la prise en charge du langage C++ dans VSCode est disponible à l’adresse disponible ici .


Par souci de préservation (de la discussion), voici des extraits de base du contenu du fichier tasks.json à compiler et à exécuter soit un fichier C++, soit un fichier C. Ils permettent des espaces dans le nom du fichier (nécessite d'économiser les guillemets supplémentaires dans le JSON en utilisant \"). Le shell est utilisé en tant que coureur , permettant ainsi la compilation (clang...) et l’exécution (&& ./a.out) du programme. Il suppose également que le fichier tasks.json "habite" dans l'espace de travail local (sous le répertoire .vscode). D'autres détails de task.json, tels que les variables prises en charge, etc. peuvent être trouvés ici .

Pour 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... 
}
36
Niall

Pour les utilisateurs Mac uniquement, les outils de ligne de commande installés à la place de Xcode, vérifiez le répertoire /Library/Developer/CommandLineTools/, par exemple ::

"configurations": [{
    "name": "Mac",
    "includePath": [
        "/Library/Developer/CommandLineTools/usr/lib/clang/8.1.0/include/",
        "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1/tr1/",
        "/usr/include/c++/4.2.1",
        "/usr/local/include",
        "/usr/include"
    ]
}]

Remarque : Vous pouvez également ouvrir/générer le fichier c_cpp_properties.json via la commande C/Cpp: Edit Configurations à partir de la palette de commandes (P).

7
ryenus

Dans vos paramètres utilisateur, ajoutez:

"C_Cpp.default.includePath":["path1","path2"]
0
regomodo

Cette réponse est peut-être tardive mais il m'est arrivé de résoudre le problème .

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

}

0
100rabh