Ответ 1
Как и где я могу добавить пути включения в конфигурациях ниже?
Список представляет собой строковый массив, поэтому добавление пути включения будет выглядеть примерно так;
"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 31 марта 2016 г.
Связанный источник имеет gif, показывающий формат для конфигурации Win32, но то же самое относится и к другим.
Приведенный выше пример включает путь SDK (OSX 10.11), если Xcode установлен.
Примечание. Я считаю, что обновление может занять некоторое время после изменения пути включения.
Расширение cpptools можно найти здесь.
Дополнительную документацию (от Microsoft) о поддержке языка C++ в VSCode можно найти здесь.
В течение 2018 года расширение C++ добавило еще одну опцию в compilerPath
конфигурации c_cpp_properties.json
файла c_cpp_properties.json
;
compilerPath
(необязательно) Абсолютный путь к компилятору, который вы используете для построения вашего проекта. Расширение запросит компилятор, чтобы определить системные пути включения и определения по умолчанию для использования для IntelliSense.
В случае использования includePath
не понадобится, поскольку IntelliSense будет использовать компилятор для определения путей включения системы.
В целях сохранения (из обсуждения) ниже приведены основные фрагменты содержимого файла 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...
}