Измените include path visual studio code

Обновлено: 08.07.2024

Я не знаю, как найти свой includePath. Я не могу делать никаких советов, приведенных в vscode.

Интересно, действительно ли vs-код - правильное направление, поскольку кажется сложным?

Хотя в этом вопросе упоминается Arduino, следующие предложения применимы практически в любое время, когда VSCode сообщает вам "обновить ваш includePath".

Что такое includePath?

includePath является атрибутом в c_cpp_settings.json , который находится в папке .vscode главной папки, которую вы открыли в VSCode, используя Файл → Открыть папку.

Вы можете редактировать c_cpp_settings.json напрямую, но обычно проще использовать "C/C++ Configurations GUI". Для этого откройте командную палитру (Ctrl + Shift + P) и запустите "C/C++: Изменить конфигурации (UI)". Затем найдите параметр "Включить путь".

Так стоит ли мне возиться с includePath, когда VSCode говорит мне об этом?

Не сначала! Перед изменением пути включения, если вы этого еще не сделали, сначала задайте "Путь к компилятору", чтобы он указывал на ваш компилятор C/C++, и установите "Режим IntelliSense", чтобы он максимально соответствовал компилятору.

Вам также может понадобиться настроить аргументы компилятора, особенно если компилятор способен генерировать код для нескольких целей, например, как для 32-битного, так и для 64-битного кода. (Если вы не знаете, что это значит, сначала пропустите его.)

Затем в палитре команд выполните "C/C++: Log Diagnostics". Вывод покажет вам, какой компилятор VSCode обнаружен и что он обнаружил в качестве встроенного пути include и определяет препроцессор.

Затем выполните эти команды в оболочке:

Здесь я предположил, что вы используете gcc в качестве компилятора. Если нет, подставьте фактическое имя команды компилятора. Если ваш компилятор не является вариантом GCC (например, вы используете компилятор Microsoft cl.exe ), вам нужно взглянуть на его документацию или Google, чтобы найти переключатели, которые печатают предопределенные макросы и включают в себя: пути (например, см. здесь для cl.exe ).

Сравните выходные данные вышеупомянутой команды с тем, что VSCode показывает в своих диагностических выходах C/C++. Надеюсь, они очень похожи. Если нет, попробуйте настроить путь компилятора, режим IntelliSense или аргументы компилятора. Как только вы подобрали их как можно ближе, настроив только эти три параметра, переходите к следующему шагу.

Теперь при необходимости настройте includePath

Если все еще существуют значительные различия между встроенной конфигурацией компилятора и тем, что обнаруживает VSCode, исправьте это путем (в пользовательском интерфейсе настроек C/C++) изменения стандартных полей "Включить путь", "Определить" и C/C++. Перезапустите команду C/C++ Log Diagnostics, чтобы увидеть результаты.

Наконец, если в вашем проекте есть заголовочные файлы в местах, которые компилятор не ищет по умолчанию, то есть обычно вы должны передавать переключатели -I в командной строке компилятора, а также добавлять их в команду "Включить". дорожка. То же самое относится к любым -D аргументам, которые должны быть добавлены в Определения.

Это файл c_cpp_properties.json

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Ошибка: Unable to invoke Code Completion due to errors in source code
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics.

INCLUDEPATH += .
Здравствуйте, В .pro файл я положил место, где есть многие заголовочные файлы INCLUDEPATH.

INCLUDEPATH
Всем привет! Такой вопрос INCLUDEPATH в Qt - это аналог для указания HEADERS += и SOURCES.

Тебя на шелле, чтоли читать учили, раз ты не видишь то, что после хеш-тега?
Проверь пути до директорий с исходниками и либами.
Проверь наличие таких директорий, либо поправь пути если они в другом месте. Проверь наличие таких директорий, либо поправь пути если они в другом месте. я сам прописал этот путь, было бы странно если бы там не было этих директорий)
изначально там не было пути, поэтому я решил что стоит в includPath ещё и путь прописать поэтому так и сделал, но это не решило моей проблемы

звёзды вроде не к месту ?

редактируй эти настройки через визард, тогда будет меньше ошибок

Они по дефолту стояли в этом файле. Как я понял не просто так, т.к. про них написано в справочнике "Если путь заканчивается на /**, подсистема IntelliSense будет выполнять рекурсивный поиск файлов заголовков, начиная с этого каталога."

редактируй эти настройки через визард, тогда будет меньше ошибок не совсем понимаю что значит редактировать через визард)

Добавлено через 1 минуту

P1XELCORE, iost r eam

и настройки тут ни при чём

в самом коде подчеркивает проблему именно подключение библиотеки, если выбрать "Изменить параметр includePath", то кидает на вкладку изменения конфигурации IntelliSense, там по логике прописываются пути для компилятора и библиотек

действительно, спасибо огромное) запустилось!

только теперь ругается консоль отладки, но всё же спасибо)


вот эти строки о том что какие-то символы загружены, они так и должны быть? мне кажется в окно вывода должно просто хеллоу ворд выходить)
а если например написать программу где нужно вводить входные данные, то она отладку не проходит вовсе

P1XELCORE, так и смотри в окне вывода. У тебя всё там не на английском, но предполагаю, это вкладка "выходные данные"

а может и "терминал". Или вообще окно в настройках не включено

Добавлено через 3 минуты
так вон, вроде, текст то вывелся синеньким. Только всякий мусор вокруг. Да и код выхода 0 вижу

Судя по всему это загрузка метаданных для дебаггера из модулей, которые будут использоваться твоей программой.
мне кажется в окно вывода должно просто хеллоу ворд выходить А мне кажеся, что дебаггеру плевать на ввод-вывод, если не поставлена точка останова. Если у этой консоли та же логика что и в gdb, то туда нужно вводить название переменных либо выражения. И дебаггер покажет значение переменной, либо рассчитает выражение.
программу где нужно вводить входные данные, то она отладку не проходит вовсе Всмысле не проходит? Зависает? Ну так может нужно данные вводить не в консоль отладки, а в окно самой программы? У тебя там консолька не всплывает случаем на фоне? но предполагаю, это вкладка "выходные данные"
а может и "терминал". Или вообще окно в настройках не включено Во вкладке "выходные данные" пусто всегда, а в терминале вот такое выходит когда без проблем компилируется Всмысле не проходит? Зависает? Ну так может нужно данные вводить не в консоль отладки, а в окно самой программы? У тебя там консолька не всплывает случаем на фоне? Консолька не всплывает для ввода данных, просто опять что-то пишет в консоль отладки и в терминал

P1XELCORE, кстати, да, у тебя приложение то консольное? Тогда консоль должна быть на экране. А в окно отладки, которое снизу, вывод в студии производится через TRACE/TRACE0/OutputDebugString (понадобится заголовок <Windows.h> )

Добавлено через 2 минуты
ещё, говорят, так можно показать/скрыть (тоже тот же заголовок нужен)

Я использую код Visual Studio в моем проекте C ++. Я установил расширение Microsoft C / C ++ для кода VS . Я получил следующую ошибку:

Нажмите на лампочку и отредактируйте открываемый файл JSON. Выберите правильный блок, соответствующий вашей платформе (есть Mac , Linux , Win32 - версия ms-vscode.cpptools: 3). Обновите пути в includePath (имеет значение, если вы компилируете с VS Code) или browse.paths (имеет значение, если вы перемещаетесь с VS Code) или в обоих.

Благодаря @Francesco Borzì я добавлю его ответ здесь:

Вы также можете нажать кнопку мыши Right 🖰 на подчеркнутом коде.

enter image description here

Я пробовал программу "Здравствуй, мир", и эта строка:

Было подчеркнуто зеленым. Я старался:

  1. Удаление строки
  2. Переписать строку
  3. Нажав на желтую лампочку и выбрав обновить

Исправлено предупреждение об ошибке. я не знаю, если это решило актуальную проблему. Но потом я собираю через Linux Linux на Windows 10

Я попал сюда после некоторой борьбы, но на самом деле мне не хватало только:

enter image description here

  • Кликните левой кнопкой мыши по лампочке линии ошибки
  • Нажмите Edit Include path
  • Тогда это окно всплывающее

enter image description here

  1. Пожалуйста, добавьте этот каталог в вашу переменную среды (путь):

C : \ MinGW - w64 \ x86_64-8.1.0 - win32 - SEH - rt_v6 - rev0 \ mingw64 \ Bin \

  1. В поле Включить обнаруженные ошибки укажите путь к вашей папке включения в

"includePath": ["C: /mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/include/"]

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

Если у кого-то есть такая проблема, возможно, вам просто нужно установить build-essential.

После закрытия и повторного открытия VS, это должно разрешиться.

Пробовал эти решения и многие другие за 1 час. Закончилось закрытием VS Code и открытием снова. Это просто

Запишите основной процесс отладки программ C / C ++ с помощью VS Code, чтобы углубить понимание построения, компиляции и компоновки проекта. По моему собственному опыту, он не подходит для использования в реальных проектах.Если у меня нет глубокого понимания конструкции проекта make-файла и цепочек инструментов, связанных с C / C ++, его трудно контролировать.

Создание среды отладки VS Code C / C ++

Согласно «Справочнику 1» для создания среды отладки VS Code C / C ++, общий процесс выглядит следующим образом:

 C/C++

  1. Установить VS CODE
    VSCODE - это бесплатная платформа Microsoft для кроссплатформенной разработки, которую можно загрузить и установить с ее официального сайта;
  2. Установите подключаемый модуль Microsoft C / C ++
    • Откройте VS Code.
    • Щелкните значок расширения на левой панели инструментов.
    • Найдите c ++.
    • Нажмите Install, перезапустите VSCODE после soft.

      После установки подключаемого модуля, когда вы откроете папку, содержащую исходный код C / C ++, VSCODE автоматически добавит подкаталог, содержащий файл настроек. Vscode

Обратите внимание, что подключаемый модуль C / C ++ от Microsoft не включает компилятор и отладчик C ++. Их необходимо установить самостоятельно. Обычно используемые компиляторы C ++ включают mingw-w64 под Windows, Clang для XCode под macOS и GCC под linux, Windows Необходимо добавить адрес установки цепочки инструментов в переменную среды PATH.

  1. Настроить IntelliSense
    После открытия соответствующей папки подключаемый модуль Microsoft C / C ++ попытается предоставить базовую конфигурацию в соответствии с компилятором системы. Если конфигурация не удалась, вам необходимо самостоятельно сгенерировать файл конфигурации c_cpp_properties.json. Методы, указанные ниже:
  • Откройте командную панель (Ctrl + Shift + P или меню [View] -> [Command Panel])
  • Выполните команду C / Cpp: Edit configurations .
  • Сгенерируйте c_cpp_properties.json, файл конфигурации сохраняется в папке .vscode
    Ниже приведен файл конфигурации по умолчанию c_cpp_properties.json, созданный компилятором MinGW C ++ под Windows.
  1. Код сборки
    Если вы хотите создать код, вам необходимо настроить файл task.json:
    • Откройте командную панель (Ctrl + Shift + P или меню [View] -> [Command Panel])
    • Выберите команду Tasks: Configure Tasks . щелкните, чтобы создать файл tasks.json, вы увидите серию шаблонов запуска задач.
    • Выбрать шаблон Другое: Примеры запуска произвольных внешних команд
    • Измените выражение командной строки для построения кода, например g ++
    • Добавьте необходимые аргументы (например, -g для отладки)
    • Измените метку, чтобы сделать ее описательной
      пример кода tasks.json, как показано ниже:

Если вы хотите собрать код через меню [Задачи] -> [Выполнить задачу сборки . ] или с помощью сочетания клавиш (Ctrl + shift + B), вам нужно добавить групповую сборку в файл tasks.json прямо сейчас, как показано ниже, чтобы вы могли собрать код Создайте исполняемый файл:

  1. Код отладки
    отладки, вам необходимо сгенерировать файл launch.json:
    • Щелкните значок отладки на левой панели инструментов.
    • В представлении отладки щелкните значок Настроить
    • Выберите C ++ (GDB / LLDB), чтобы создать файл launch.json, есть два элемента конфигурации
      • C ++ Launch определяет свойства, когда вы начинаете отладку и загружаете приложение.
      • C ++ Attach определяет присоединенные свойства запущенного процесса
    • Обновите атрибуты программы, добавьте свой каталог отладки
    • Если вы хотите создать свой собственный код перед отладкой, вам необходимо добавить атрибут preLaunchTask, содержимое которого является меткой задачи, только что созданной в task.json (например, предыдущий «build hello world»)
      Ниже приводится содержимое файла конфигурации launch.json с использованием отладчика MinGW GDB:

На этом этапе щелкните значок отладки на левой панели инструментов, а затем щелкните зеленый значок запуска, чтобы построить код -> программа отладки. В этот момент вы можете увидеть «привет, мир» в терминале!

Отладка простой программы на C / C ++

Теория без практики - это замок в небе.

  1. Создать и открыть исходную файловую структуру
  • Создать новый каталог ex
  • Создайте в каталоге новый файл hello.cpp следующим образом:
  • Откройте VSCODE, [Файл] -> [Открыть папку], чтобы открыть папку.
  1. Настроить IntelliSense
    Откройте панель команд (Ctrl + Shift + P или меню [View] -> [Command Panel]), запустите команду C / Cpp: Edit configurations . для создания c_cpp_properties.json, Файл конфигурации сохраняется в папке .vscode. Ниже приведен файл конфигурации по умолчанию c_cpp_properties.json, созданный компилятором GCC под Linux:

Следует обратить внимание на две вещи: «includePath» - это каталог включенных файлов, установленный в соответствии со структурой исходного кода, потому что исходный код - это просто файл hello.cpp, устанавливать не нужно, значение по умолчанию ОК; «compilerPath» - это каталог компилятора, согласно Необходимо изменить

  1. Код сборки
  • Создайте новую задачу сборки.Роль этой задачи заключается в предоставлении сценария для компиляции ссылок.Личное понимание, после выполнения этой задачи целевой файл будет сгенерирован в локальном каталоге.
  • Меню [Задачи] -> [Выполнить задачу сборки . ], вам будет предложено, что задача сборки не найдена, вам нужно настроить задачу сборки, вы можете только выполнить задачу, следуя инструкциям, создайте файл конфигурации задачи сборки с другими в качестве шаблона tasks.json выглядит следующим образом:
  • Меню [Задачи] -> [Запустить задачу сборки . ], выполнить задачу компиляции ссылки, настроенной выше, фактически выполняется команда компиляции

g++ -g ex.cpp -o qb.out
В это время сгенерированный целевой файл qb.out можно найти в каталоге

  1. Код отладки
  • Щелкните значок отладки на левой панели инструментов -> значок «Настроить» -> выберите C ++ (GDB / LLDB), чтобы сгенерировать файл launch.json,
  • Щелкните зеленый значок запуска для отладки, ОК!

Отладка программ C / C ++, созданная Makefile

VS Code взаимодействует с Makefile для улучшения переносимости проектов C / C ++. Идея этого решения такова: используйте Makefile для сборки проекта, VS Code вызывает инструмент make через Tasks для компиляции и вызывает gdb для отладки. Преимущество заключается в том, что он не слишком сильно зависит от конфигурации самого VS Code.Подходящий Makefile может быть скомпилирован на различных платформах, но удобство, обеспечиваемое собственными плагинами VS Code, можно использовать в процессе разработки, сокращая ввод команд и командные строки. Проблемы, вызванные отладкой GDB.

Теперь вы можете использовать инструменты компиляции и отладки в соответствии с шагами, описанными в предыдущем разделе.

Отладка встроенной программы STM32

JLINK

СправкаИспользуйте VSCode и VS2017 для компиляции и отладки программ STM32, Может быть загружен и запущен, но не может быть отлажен в обычном режиме.

может быть вызвано тем, что JLINK не является подлинным, или он может быть неправильно установлен, поэтому я исправлю его позже.

Читайте также: