it-swarm.com.ru

Код Visual Studio includePath

Я пытаюсь построить C/C++ в коде Visual Studio. Я установил C/C++ и все соответствующие расширения.

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

Но под #include <stdio.h> есть зеленая строка с надписью «Добавить путь к настройкам». Когда я нажимаю на него, он переходит к «c_cpp_properties.json».

Как и где я могу добавить пути включения в конфигурации ниже?

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

Как и где я могу добавить пути включения в конфигурации ниже?

Список представляет собой строковый массив, поэтому добавление пути включения будет выглядеть примерно так;

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

Источник; cpptools blog 31 марта 2016 г. .

У связанного источника есть gif, показывающий формат для конфигурации Win32, но то же самое относится и к другим.

Приведенный выше пример включает путь SDK (OSX 10.11), если Xcode установлен.

Примечание Я считаю, что обновление может занять некоторое время после изменения пути включения.

Расширение cpptools может быть найдено здесь .

Дальнейшая документация (от Microsoft) о поддержке языка C++ в VSCode может быть найдена здесь .


В целях сохранения (из обсуждения) ниже приведены основные фрагменты содержимого файла tasks.json для компиляции и выполнения либо файла C++, либо файла C. Они допускают пробелы в имени файла (требует экранирования дополнительных кавычек в json с помощью \"). Оболочка используется в качестве бегуна , что позволяет выполнять компиляцию (clang...) и выполнение (&& ./a.out) программы. Предполагается также, что tasks.json «живет» в локальной рабочей области (в каталоге .vscode). Дополнительные сведения о файле task.json, такие как поддерживаемые переменные и т.д., Могут быть найдены здесь .

Для 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"]
}

Для С;

{ 
    "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

Для пользователей Mac установлены только инструменты командной строки вместо Xcode, проверьте каталог /Library/Developer/CommandLineTools/, например ::

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

Примечание : Вы также можете открыть/сгенерировать файл c_cpp_properties.json с помощью команды C/Cpp: Edit Configurations из палитры команд (⇧⌘P).

7
ryenus

В ваших пользовательских настройках добавьте:

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

Этот ответ может быть поздно, но я просто решил проблему ... Вот мой файл c_cpp_properties.json:

{
"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