Конфигурации IntelliSense
Используйте этот редактор для изменения параметров IntelliSense, определенных в базовом файле c_cpp_properties.json. Изменения в этом редакторе применяются только к выбранной конфигурации. Для изменения множества конфигураций сразу перейдите сюда: c_cpp_properties.json.
Имя конфигурации
Понятное имя, идентифицирующее конфигурацию.
Linux, Mac и Win32 — это специальные идентификаторы для конфигураций, которые будут автоматически выбраны на этих платформах.Выберите файл конфигурации для изменения.
|
|
|
Путь компилятора
Полный путь к компилятору, используемому для сборки проекта, например
/usr/bin/gcc, для повышения точности IntelliSense. Расширение будет запрашивать у компилятора системные пути для include и директивы define по умолчанию для использования в IntelliSense.
Укажите путь компилятора или выберите обнаруженный путь компилятора в раскрывающемся списке.
Аргументы компилятора
Аргументы компилятора для изменения используемых включений или определений, например
-nostdinc++, -m32 и т. д. Аргументы, которые принимают дополнительные аргументы, разделенные пробелами, должны быть введены как отдельные аргументы в массиве, например, для --sysroot <arg> используйте "--sysroot", "<arg>".Один аргумент в строке.
Режим IntelliSense
Используемый режим IntelliSense, соответствующий определенному варианту платформы и архитектуры MSVC, gcc или Clang. Если значение не указано или указано значение
${default}, расширение выберет вариант по умолчанию для этой платформы. Для Windows по умолчанию используется windows-msvc-x64, для Linux — linux-gcc-x64, а для macOS — macos-clang-x64. Вы можете переопределить режим ${default}, выбрав конкретный режим IntelliSense. Режимы IntelliSense, в которых указаны только варианты <compiler>-<architecture> (например, gcc-x64), являются устаревшими и автоматически преобразуются в варианты <platform>-<compiler>-<architecture> на основе платформы узла.
Включить путь
Путь включения — это папка, содержащая файлы заголовков (например,
#include "myHeaderFile.h"), включаемые в исходный файл. Укажите список путей, которые подсистема IntelliSense будет использовать для поиска заголовков. Поиск по этим путям не является рекурсивным. Чтобы использовать рекурсивный поиск, укажите **. Например, если указать ${workspaceFolder}/**, то будет выполнен поиск по всем подкаталогам, а если указать ${workspaceFolder} — не будет. Если вы работаете в Windows с установленной средой Visual Studio или в параметре compilerPath указан компилятор, перечислять системные пути включения в этом списке не нужно.
Один путь включения в строке.
Определения
Список определений препроцессора для подсистемы IntelliSense, используемых при анализе файлов. При необходимости используйте
= для задания значения, например VERSION=1.Одно определение в строке.
Стандарт C
Версия стандарта языка C, используемая для IntelliSense. Примечание: стандарты GNU используются только для запроса определений GNU у установленного компилятора, а IntelliSense будет эмулировать эквивалентную версию стандарта C.
Стандарт C++
Версия стандарта языка C++, используемая для IntelliSense. Примечание: стандарты GNU используются только для запроса определений GNU у установленного компилятора, а IntelliSense будет эмулировать эквивалентную версию стандарта C++.
Поставщик конфигурации
Идентификатор расширения VS Code, которое может предоставлять сведения о конфигурации IntelliSense для исходных файлов. Например, используйте идентификатор расширения VS Code
ms-vscode.cmake-tools, чтобы предоставить сведения о конфигурации из расширения CMake Tools.Версия Windows SDK
Версия пути включения Windows SDK для использования в Windows, например
10.0.17134.0.Путь к платформе Mac
Список путей для подсистемы IntelliSense, используемых при поиске включенных заголовков из платформ Mac. Поддерживается только в конфигурациях для macOS.
Один путь в строке.
Принудительное включение
Список файлов, которые должны быть включены до обработки любых других символов в исходном файле. Файлы включаются в указанном порядке.
Один файл в строке.
Конфигурация dot
Путь к файлу CONFIG, созданному системой Kconfig. Система Kconfig создает файл со всеми определениями для сборки проекта. Примеры проектов, в которых используется система Kconfig: ядро Linux и NuttX RTOS.
Команды компиляции
Список путей к файлам
compile_commands.json для рабочей области. Пути включения и определения, обнаруженные в этих файлах, будут использоваться вместо значений, установленных для настроек includePath и defines. Если в базе данных команд компиляции нет записи для единицы перевода, соответствующей файлу, который вы открыли в редакторе, появится предупреждающее сообщение, а расширение вместо этого будет использовать настройки includePath и defines.
Один путь команд компиляции на строку.
Объединение конфигураций
Когда
true (или отмечено), объедините includePath, defines, forcedInclude и browse.path с данными, полученными от поставщика конфигурации.
Обзор: путь
Список путей, по которым анализатор тегов будет искать файлы заголовков, включаемые вашими исходными файлами. Если не указать его, то как
path будет использоваться includePath. Поиск по этим путям по умолчанию рекурсивный. Чтобы использовать нерекурсивный, укажите *. Например, если указать /usr/include, будет выполнен поиск по всем подкаталогам, а если /usr/include/* — не будет.
Один путь просмотра в строке.
Обзор: ограничение символов до включаемых заголовков
При значении
true (или если установлен флажок) анализатор тегов будет анализировать только файлы кода, прямо или косвенно включаемые исходным файлом в ${workspaceFolder}. При значении false (или если флажок не установлен) анализатор тегов будет анализировать все файлы кода, найденные по путям, указанным в списке Browse: path.
Обзор: имя файла базы данных
Путь к создаваемой базе данных символов. Этот параметр указывает расширению расположение для сохранение базы данных символов анализатора тегов, отличное от используемого в этой рабочей области места хранения по умолчанию.Если указать относительный путь, он будет определяться относительно места хранения по умолчанию, а не от папки самой рабочей области. Чтобы указать путь относительно папки рабочей области, можно использовать переменную
${workspaceFolder} (например, ${workspaceFolder}/.vscode/browse.vc.db).
Рекурсивные включения: уменьшение
Задайте значение
always, чтобы всегда уменьшать количество путей рекурсивного включения, предоставляемых для IntelliSense, только до тех путей, на которые в настоящее время ссылаются инструкции #include. Для этого необходимо сначала проанализировать файлы, чтобы определить, какие файлы включены. Задайте значение never, чтобы предоставить все пути рекурсивного включения для IntelliSense. Уменьшение количества путей рекурсивного включения может повысить производительность IntelliSense, если задействовано очень большое количество путей рекурсивного включения. Отсутствие уменьшения количества путей рекурсивного включения может улучшить производительность IntelliSense благодаря отказу от необходимости анализа файлов для определения того, какие пути включения следует предоставить.
Рекурсивные включения: приоритет
Приоритет путей рекурсивного включения. Если задано значение
beforeSystemIncludes, поиск путей рекурсивного включения будет выполняться до путей системного включения. Если задано значение afterSystemIncludes, поиск путей рекурсивного включения будет выполняться после путей системного включения.
Рекурсивные включения: порядок
Порядок поиска подкаталогов в путях рекурсивного включения.