Код Visual Studio: как настроить includePath для улучшения результатов IntelliSense

Я новичок в использовании кода Visual Studio, и я понятия не имею, что я делаю.
Я искал (возможно, не достаточно), но я не могу найти просто простое объяснение для кого-то, как я, о том, как настроить c_cpp_properties.json файл, к которому меня перенаправляют всякий раз, когда я нажимаю на желтую лампочку рядом с линией, которая подчеркнута зеленым загогулином.

Пример лампочки

c_cpp_properties.json

Я просто хочу знать, что положить в .json заставить IntelliSense работать правильно

7

Решение

От:
https://code.visualstudio.com/docs/languages/cpp

Ниже вы можете видеть, что путь включения MinGW C ++ был добавлен в browse.path для Windows:

{
"name": "Win32",
"includePath": [
"${workspaceRoot}"],
"defines": [
"_DEBUG",
"UNICODE"],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"${workspaceRoot}",
"C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0\\include\\c++"],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""}
}

Надеюсь, это поможет! 🙂

1

Другие решения

Из официальной документации расширения C / C ++:

Если при открытии папки в VS Code вы видите следующее сообщение, это означает, что движку C ++ IntelliSense требуется дополнительная информация о путях, в которых находятся ваши включаемые файлы.

Настройте includePath для лучшего IntelliSense

Где определены пути включения?

Пути включения определены в "includePath" установка в файле с именем c_cpp_properties.json находится в каталоге .vscode в открытой папке.

Вы можете создать или открыть этот файл, используя "C/Cpp: Edit Configurations" Команда в палитре команд или выбрав "Edit "includePath" setting" в меню лампочки (см. скриншот ниже). Самый быстрый способ найти лампочку — это прокрутить верхнюю часть исходного файла и щелкнуть на любой зеленой загадке, которая появляется под оператором #include.

меню лампочки «Редактировать» включает в себя «путь» установка & Quot;

Когда папка открыта, расширение пытается найти системные заголовки на основе вашей операционной системы, но не знает ни о каких других библиотеках, от которых зависит ваш проект. Вы можете навести курсор на зеленые загогулины или открыть окно «Проблемы», чтобы понять, какие заголовки механизм IntelliSense не может открыть — иногда это не могут быть найдены зависимые заголовки.

включить сообщение об ошибке

Как указать пути включения?

Вы можете указать оставшиеся пути, используя один из методов, описанных ниже.

1. Используйте файл compile_commands.json для предоставления includePaths и определения информации

Расширение может получить информацию для "includePath" а также "defines" из файла compile_commands.json, который может автоматически генерироваться многими системами сборки, такими как CMake и Ninja. Найдите раздел, в котором определена текущая конфигурация (по умолчанию для каждой ОС существует одна конфигурация, например, «Win32 или« Mac »), и установите "compileCommands" недвижимость в c_cpp_properties.json полный путь к файлу compile_commands.json, и расширение будет использовать его вместо "includes" а также "defines" свойства для IntelliSense.

использовать параметр compileCommands

2. Используйте предложения лампочки для автоматического разрешения includePath

Первое, что нужно попробовать, — это использовать подсказки пути лампочки для автоматического разрешения включаемых путей. Когда вы открываете папку, расширение будет рекурсивно поиск возможных путей включения, соответствующих заголовочным файлам, которые использует ваш код, на основе путей, заданных "browse.path" установка в c_cpp_properties.json. Нажмите на зеленые загогулины под заявлениями #include, и вы увидите лампочку, предлагающую пути, которые позволят IntelliSense разрешить включенный файл.

предложения лампочки

Если вы не видите подсказки пути в лампочке, попробуйте добавить корневую папку, в которой заголовки, вероятно, расположены в "browse.path" установка в c_cpp_properties.json. Это позволяет расширению рекурсивно искать в этих папках и предлагать больше предложений в лампочке в процессе поиска.

3. Вручную добавить пути включения

Если ни один из приведенных выше способов полностью не разрешает пути, вы можете вручную указать пути к заголовкам, от которых зависит ваш проект, в c_cpp_properties.json файл. Найдите раздел, в котором определена ваша текущая конфигурация (по умолчанию для каждой ОС существует одна конфигурация, например, «Win32 или« Mac »), и добавьте ваши пути в "includePath" установка и определяет в "defines" установка. Например, на следующем снимке экрана показан фрагмент файла с указанием пути для конфигурации Mac.

Кроме того, для MinGW, как объясняет документация расширения ты можешь спросить GCC / G ++ перечислить свои собственные включаемые файлы:

gcc -v -E -x c++ nul

Фрагмент файла c_cpp_properties

Убедитесь, что пути включения правильно разрешены

Есть два способа проверить правильность разрешения путей включения:

  1. Зеленые загогулины в исходном файле больше не отображаются
  2. Сообщения об ошибках очищаются в окне «Проблемы».

Это указывает на то, что в движке IntelliSense разрешены пути включения, поэтому вы можете начать пользоваться полным IntelliSense для своего кода C или C ++ для текущего модуля перевода. Обратите внимание, что вы все равно можете видеть ошибки в других файлах, если они принадлежат другому модулю перевода, для которого требуется настроить дополнительные пути включения.

Если это не решило вашу проблему, проверьте конфигурацию MinGW ниже и попробуйте установить подходящее место для вашей установки Cygwin для соответствующих / похожих заголовочных файлов. & папки.

Настройка MinGW

c_cpp_properties.json справочное руководство

-3

По вопросам рекламы [email protected]