Как без проблем компилировать код на C в VS Code
Я тут новенький во всём этом деле, поэтому для меня поподробней)) Хочу изучать Си, но при входе в Vs Code глаза разбегаются, создал только файл .c немного кода написал там, а скомпилировать не могу. Непонятно что и куда устанавливать и тыкать, установил расширения ещё, все от Microsoft: C/C++; Thems C/C++. Заранее спасибо
Отслеживать
задан 5 мая 2022 в 21:11
david_matyash david_matyash
1 1 1 серебряный знак 2 2 бронзовых знака
Пожалуйста, уточните вашу конкретную проблему или приведите более подробную информацию о том, что именно вам нужно. В текущем виде сложно понять, что именно вы спрашиваете.
5 мая 2022 в 21:31
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Скорее всего, у Вас проблема с тем, что в системе не установлен компилятор C++.
В отличие от более «взрослой» Visual Studio, VSC не приносит с собой компилятор, и представляет собой такой «блокнот на стероидах»: это редактор кода, но для компиляции он использует внешнюю программу.
Соответсвенно, редактор нужно просто правильно настроить.
Не так давно я писал инструкцию, которая до сих пор актуальна, попробуйте все сделать по ней. Ну, или по официальной инструкции, ссылка на неё там тоже есть.
Отслеживать
ответ дан 6 мая 2022 в 6:40
11k 1 1 золотой знак 19 19 серебряных знаков 41 41 бронзовый знак
- c
- visual-studio-code
- компиляция
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Visual Studio Code #
Visual Studio Code — это текстовый редактор, вроде блокнота в Windows, но созданный специально для программистов: он поставляется вместе с подсветкой синтаксиса, автодополнением, встроенным терминалом, системой контроля версий и ещё огромным количеством инструментов, упрощающих написание кода. Однако VS Code это не IDE, т.е. он изначально не содержит в себе инструментов для компиляции и запуска написанного кода, что означает, что для комфортной разработки, его необходимо настроить соответствующим образом. Именно этому и посвящена данная статья.
Где скачать #
Загрузить VS Code можно здесь . Сайт сам поймёт, какую операционную систему ты используешь, и предложит соответствующую версию. При установке рекомендуем поставить все галочки и не менять язык на русский, так как вся статья написана для англоязычной версии.
Настройка для работы с C++ #
Windows #
- Установить компилятор g++ отсюда, выбрав последнюю доступную версию нужной разрядности. После установки необходимо перезапустить компьютер;
- Открываем командную строку, для этого нажимаем комбинацию клавиш Win + R , вводим cmd и нажимаем Enter, в открывшемся окне прописываем g++ —version и снова нажимаем Enter. Если ты увидишь сообщение, содержащее версию, значит компилятор установлен и можно переходить к следующему шагу. Если же появится ошибка, значит система не понимает, где установлен компилятор, и ей необходимо указать, где он находится. Для этого необходимо добавить g++ в PATH : Параметры > Система > О системе > Сведения о системе > Дополнительные параметры системы > Переменные среды > Системные переменные > Path, тут необходимо нажать кнопку Добавить и вставить следующий путь: c:\mingw\libexec\gcc\x86_64-w64-mingw32 ;
- Теперь ты можешь компилировать С++ код, прописывая в консоли g++ FILE_NAME.cpp , и запускать скомпилированный файл a.exe . Однако можно автоматизировать этот процесс внутри VS Code. Для этого нужно зайти в раздел с расширениями с помощью комбинации клавиш Ctrl + Shift + X или можно нажать на иконку с кубиками в боковой панели, а затем найти и установить расширение Code Runner ;
- Теперь, чтобы скомпилировать .cpp файл, можно просто использовать комбинацию клавиш Ctrl + Alt + N или соответствующую кнопку в правом верхнем углу. При желании, её можно изменить в настройках;
- Далее необходимо открыть настройки, пользуясь сочетанием клавиш Ctrl + , или нажав на шестерёнку в левом нижнем углу. В строке поиска ввести @ext:formulahendry.code-runner terminal и поставить галочку в Code-runner: Run In Terminal . Теперь код будет запускаться во встроенном терминале, и у тебя появится возможность вводить входные данные с клавиатуры.
Linux #
- Установить компилятор g++ используя пакетный менеджер, например, если ты используешь Ubuntu, тебе нужно открыть терминал и написать sudo apt install gcc ;
- Чтобы убедиться, что компилятор установился правильно, введи в терминале g++ —version . Если всё в порядке, ты увидишь сообщение, содержащее версию g++ ;
- Далее, уже в самом VS Code, заходим в раздел с расширениями с помощью Ctrl + Shift + X или можно просто нажать на иконку с кубиками в боковой панели, а затем найти и установить расширение Code Runner ;
- Теперь, чтобы скомпилировать .cpp файл, ты можешь просто использовать комбинацию клавиш Ctrl + Alt + N . При желании, её можно изменить в настройках;
- Далее необходимо открыть настройки, пользуясь сочетанием клавиш Ctrl + , или нажав на шестерёнку в левом нижнем углу. В строке поиска ввести @ext:formulahendry.code-runner terminal и поставить галочку в Code-runner: Run In Terminal . Теперь код будет запускаться во встроенном терминале, и у тебя появится возможность вводить входные данные с клавиатуры.
Mac #
- На Mac установить компилятор g++ легче всего, используя пакетный менеджер Homebrew, который не установлен по умолчанию. Чтобы его установить, тебе нужно открыть терминал и вставить туда следующую команду:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Несколько советов для удобства #
- Если ты раньше пользовался Visual Studio, и, открывая свой старый код, у тебя возникают проблемы с отображением кириллицы, тебе следует изменить кодировку файла. Для этого во встроенной командной строке найди Change File Encoding > Reopen with Encoding и выбери самое первое с подписью Guessed from content.
- Для того, чтобы программа корректно компилировалась, каждый раз после её изменения нужно сначала её сохранить с помощью Ctrl + S . Чтобы этого не делать, можно включить автосохранение: для этого нужно найти параметр Files: Auto Save в настройках и выбрать значение afterDelay .
- Чтобы изменить или добавить сочетания клавиш, открой командную строку ( Ctrl + Shift + P на Windows и Linux или Cmd + Shift + P на Mac) и в поиске найди Preferences: Open Keyboard Shortcuts . Например, одной из полезных горячих клавиш будет увеличение/уменьшение размера шрифта, для этого в меню горячих клавиш введи Editor Font Zoom и поставь горячие клавиши на . In и . Out , мы предпочитаем использовать Ctrl + = для увеличения и Ctrl + — для уменьшения шрифта.
- При компиляции .cpp файла в папке с ним появляется .out файл. Чтобы .out файлы не мешались во встроенном проводнике, можно скрыть их в настройках. Для этого в настройках введи Files: Exclude , и добавь туда значение *.exe (аналогично для любого другого расширения).
Работа с Git #
Visual Studio Code даёт всё необходимое для удобной работы с системой контроля версий. Здесь ты можешь спокойно пуллить, коммитить, пушить, мерджить и т.д. Самый простой, на мой взгляд, способ это делать — использовать командную строку Ctrl + Shift + P . Здесь ты можешь найти любое действие в системе контроля версий. Все они начинаются с Git: , а дальше идёт название действия, например, Git: Pull или Git: View File History .
Другим способом работы с Git является вкладка View: Show Source Control , где можно делать всё то же, но используя графический интерфейс.
VS Code в браузере #
GitHub очень тесно интегрируется с VS Code — ты можешь открыть любой репозиторий и нажать на клавиатуре на точку или поменять github.com на guthub.dev в адресной строке, чтобы открыть web-версию VS Code. Тут ты сможешь посмотреть и изменить файлы, не клонируя репозиторий на свой компьютер. Однако, это неполноценная версия VS Code: здесь у тебя не получится воспользоваться терминалом или скомпилировать .cpp файл.
Кастомизация #
Огромным преимуществом VS Code кода является широкая кастомизация. Ты можешь настроить под себя абсолютно всё, начиная от цветов интерфейса и заканчивая шириной полосы прокрутки.
Например, я предпочитаю минималистичный вид, поэтому мой VS Code на данный момент выглядит вот так:
Темы #
Одним из самых простых и очевидных способов изменения внешнего вида редактора является установка тем. Всё, что нужно для этого сделать это:
- Открыть панель расширений c помощью Ctrl + Shift + X на Windows и Linux или Cmd + Shift + X на Mac;
- Найти понравившуюся тему ( @category:»themes» чтобы видеть только темы);
- Нажать на кнопку Install;
- Если тема не применилась автоматически, или ты хочешь выбрать другую среди установленных, достаточно открыть командную строку ( Ctrl + Shift + P на Windows и Linux или Cmd + Shift + P на Mac), после чего найти параметр Preferences: Color Theme и выбрать желаемую тему.
Иконки файлов #
Точно так же, как и темы, ты можешь изменить иконки во встроенном проводнике — боковой панели, которая отображает все файлы рабочей директории. Для этого достаточно просто написать icons в поиске расширений и установить расширение с понравившимися иконками. Если иконки не применились автоматически, или ты хочешь выбрать другую среди установленных, достаточно открыть командную строку и в параметре Preferences: File Icon Theme выбрать желаемую тему иконок.
Шрифт #
В VS Code ты можешь поменять шрифт кода с помощью параметра Editor: Font Family в настройках, где перечисляются шрифты по приоритету. Например, у меня это ‘Fira code’, Menlo, Monaco, ‘Courier New’, monospace , что означает, что будет использоваться шрифт Fira Code, но если он не найдётся среди установленных, будет использоваться Menlo и так далее. Чтобы использовать свой шрифт, просто добавь его первым в эту строку.
Оба этих шрифта поддерживают лигатуры. Что это? Лигатура — это знак, объединяющий два или более символа. В коде они применяются для отображения операторов и помогают уменьшить шум путем слияния символов и удаления лишних деталей и в определённых случаях уравновесить пространство между символами. Вот несколько примеров:
Скрытие панелей #
Ещё одним способом кастомизации VS Code является изменение поведения панелей и других элементов интерфейса, что помогает освободить огромное количество места на экране. У меня обычно скрыты все элементы интерфейса, кроме самого пространства редактора, а когда у меня появляется необходимость воспользоваться, скажем, строкой состояния, я использую соответствующую комбинацию клавиш. Все сочетания клавиш настраиваются в Preferences: Open Keyboard Shortcuts .
Настройки #
На самом деле, в VS Code есть ещё огромное количество настроек, которые ты можешь найти… в настройках. Поэтому, если тебе что-то не нравится, ты всегда можешь поискать этот параметр в настройках приложения или в интернете — скорее всего ты не первый, кто захотел изменить это, и сможешь найти готовое решение.
И ешё, все свои настройки ты можешь синхронизировать через свой аккаунт GitHub, чтобы иметь единые настройки на компьютере дома и в университете. Статья об этом .
Установка компилятора gcc и Visual Studio Code на ОС Windows
Прежде чем двигаться дальше, нам нужно настроить рабочее место для написания программ на Си. А, именно, установить (если его еще нет) компилятор и интегрированную среду разработки для написания, компиляции и отладки программ. Начнем с выбора и установки компилятора. На сегодняшний день одним из самых популярных является компилятор gcc. Это сокращение от:
GNU Compiler Collection
Если вы работаете под ОС Linux, то, этот компилятор должен быть уже установлен в системе. Если же вы работаете под ОС Windows, то компилятор нужно устанавливать самим. Давайте это сделаем.
Так как я работаю под ОС Windows, то буду показывать порядок установки всех средств именно на этой ОС. Итак, первым делом нужно перейти на официальный сайт компилятора gcc, предназначенных для ОС Windows:
Далее, переходим в раздел Download/Binaries (бинарники) и видим несколько вариантов способов установки gcc на систему. Наиболее удобный, на мой взгляд, является использование, так называемого, порта MinGW с установкой только необходимых (минимального набора) компонент компилятора gcc.
Здесь есть два варианта MinGW: старый 32-битный и новый – 64-битный. Я рекомендую воспользоваться старым вариантом, т.к. он хорошо себя зарекомендовал и, что называется, проверен временем. С новым могут возникать проблемы, да и для языка Си стандарта C99 он явно избыточен.
Нажимаем на ссылку MinGW и нас перенаправляют на страницу:
и здесь нам нужно скачать установщик mingw-get-setup.exe.
Запускаем эту программу. Появится следующее диалоговое окно:
Нажимаем здесь кнопку «Install». В следующем окне соглашаемся со всеми настройками по умолчанию, в том числе и с маршрутом распаковки «C:\MinGW» (если вас он не устраивает, то можете изменить на свой) и нажимаем на кнопку «Continue». Начнется скачивание и установка. После установки этот инсталлятор автоматически запустится:
В диалоговом окне нам нужно выбрать все необходимые компоненты для установки компилятора gcc для языка Си. Они следующие:
- mingw32-gcc-bin (после отметки также дополнительно отмечаются другие компоненты, с которыми mingw32-gcc-bin работает совместно);
- mingw32-gcc-g++-bin (для установки линкера для компилятора Си);
- mingw32-make-bin;
- mingw32-gdb-bin (дебаггер, для отладки кода).
После этого в меню «Installation» выбираем пункт «Apply Changes» и в окне нажимаем кнопку «Apply»: Начнется установка выбранных компонент для компилятора gcc в указанный каталог. Далее, нужно прописать в системе путь к каталогу компилятора gcc. Для этого нажимаем правую кнопку мыши на кнопке «Пуск» и выбираем «система». В появившемся диалоговом окне щелкаем на «Дополнительные параметры системы», и затем «Переменные среды…». Появится еще одно диалоговое окно, в котором нас будет интересовать системная переменная Path:
Два раза щелкаем по строчке с переменной Path, появится следующее окно, в котором следует добавить путь «C:\mingw\bin» в переменную Path. Все, компилятор gcc установлен в ОС Windows и готов к работе. Чтобы в этом убедиться, откроем командное окно (комбинация Win+R, набираем cmd и кнопка «OK»), набираем в нем gcc и должны увидеть следующие строчки:
Если у вас все отображается именно так, то компилятор был успешно установлен.
Установка и настройка Visual Studio Code
Следующим шагом нам нужно установить интегрированную среду для написания, компиляции и отладки наших программ написанных на языке Си. Для этого, на мой взгляд, удобно воспользоваться программой Visual Studio Code, доступной на странице официального сайта: https://code.visualstudio.com Именно в ней я буду писать и показывать все тексты программ данного курса. При желании, вы, конечно, можете использовать любую другую среду, главное, чтобы в ней было удобно компилировать и отлаживать программы на Си. Первым делом, конечно же, нужно скачать дистрибутив программы Visual Studio Code и установить себе на компьютер. Ничего сложно в этом нет. Далее, открываем эту программу. Для начала работы нам нужно определиться, где будут располагаться файлы текущего проекта. Делается это очень просто. На диске в любом желаемом месте создается папка, которая, затем, выбирается в программе VS Code. В моем случае – это путь: D:\Visual Studio\Code\course У вас может быть любой другой. Сейчас каталог пустой. Поэтому для начала работы в него нужно поместить файл, в котором будем писать текст программы. Например, его можно назвать так: lessons.c Обратите внимание, файл с текстом программы на языке Си должен иметь расширение «c». Теперь здесь можно написать простую программу. Пусть это будет классический «Hello, world!»:
#include int main(void) { printf("Hello, world\n"); return 0; }
Не беспокойтесь пока о том, что содержимое этой программы вам, возможно, непонятно. Ее мы подробно еще будем разбирать. Пока, на этом этапе, нам нужно просто настроить среду разработки для компиляции и запуска программ на Си. По идее, мы уже сейчас можем достаточно просто скомпилировать эту программу. Для этого нажимаем Ctrl + ~, появится окно powershell и в нем вручную можно вызвать компилятор gcc следующим образом: gcc lessons.c Если мы все сделали правильно, то в текущем каталоге появится исполняемый файл a.exe, который выводит в консоль сообщение «Hello, world!»: .\a Конечно, постоянно выполнять компиляцию через терминал очень неудобно, поэтому нам нужно настроить редактор VS Code под компиляцию Си-программ. Для этого необходимо установить некоторые полезные расширения (extensions). Щелкаем слева на кнопку с квадратиками и в поиске набираем «c lange»: Выбираем первый компонент C/C++ компании Microsoft, которая позволяет выполнять разработку программ на языке Си. После этого, слева щелкаем на кнопку с треугольником (Run and Debug) и нажимаем на кнопку «Run and Debug». Сверху в выпадающем списке следует выбрать «C++ (GDB/LLDB)» (это ранее установленный компилятор gcc), затем, скомпилировать и выполнить программу в режиме Debug (отладки):
Например, можно поставить в любом месте программы точку останова, снова запустить, и программа остановится на выбранной строке. Это, как раз и есть процесс отладки кода. Далее установим еще одно расширение, которое будет отвечать за простой процесс запуска кода без режима отладки. Чтобы можно было быстро и просто запустить программу и посмотреть, что получается. Для этого переходим на вкладку «extensions» и набираем: code runner Это расширение позволяет с помощью комбинации клавиш Ctrl+Alt+N компилировать и запускать код. Результат отображается во вкладке «OUTPUT».
Настройка компилятора на стандарт C99
Последнее, что нам осталось – это настроить компилятор на стандарт C99. Формально, это делается с помощью специального флага -std следующим образом: gcc -std=c99 -o outputfile sourcefile.c Такой флаг нам нужно добавить в настройках компилятора. Первым делом откроем файл tasks.json в текущем каталоге и пропишем для ключа «args» первым элементом этот ключ: «args»: [
«-std=c99»,
.
] Этот флаг будет срабатывать при перекомпиляции проекта – комбинация клавиш Ctrl+Shift+B. Точно такой же ключ нужно добавить для компилятора, используемого расширением «Code Runner». Для этого переходим в меню File->Preferences->Settings и в строке набираем «code runner run in terminal». Ставим галочку. Затем, в этом же окне настроек набираем в строке «Run Code Configuration». Находим в настройках раздел «Code-runner: Executor Map» и нажимаем на редактирование. Для ключа «c» после «gcc» прописываем «-std=c99» и ключ «code-runner.runInTerminal» устанавливаем в false. Все, теперь компилятор будет ориентироваться на стандарт c99 при компиляции наших программ.
MinGW + Visual Studio Code. Руководство для старта
Данный текст будет полезен тем, кто давно хотел слезть с иглы тяжеленных IDE, но настройка компилятора под себя – казалось делом неблагодарным и запутанным.
VS Code – это лишь редактор кода. Это не среда разработки – здесь нет встроенного компилятора или дебаггера. Здесь есть только их поддержка. Чем более инструмент универсален – тем сложнее вначале разобраться в его особенностях. Однако, здесь нет ничего невозможного! Если правильно один раз настроить VS Code, то вы получите замечательную среду с помощью которой можно поддерживать различные проекты на совершенно разных языках.
VS Code является легковесным, кроссплатформенным редактором кода. Одной из его главных особенностей является поддержка кучи плагинов. Плагины позволяют расширять технологию IntelliSense (автодополнение кода) на разные языки программирования, добавлять поддержку специфического оборудования, отладчиков и прочее. Очень приятная и гибкая цветовая схема не раздражает даже после многочасового просиживания в процессе работы.
В общем-то поэтому решил написать как подготовить себе приятную среду разработки. В данном случае – под C и C++
Картинки кликабельны. И их максимально много. Если считаете, что что-то слишком очевидно, то пропустите этот момент
Чаще всего используется компилятор gcc. Данный компилятор обычно идет совместно с Unix-осью. Для того, чтобы работать с этим компилятором на Windows, нужно установить некоторые инструменты разработки. Есть два больших и известных проекта, созданных с данной целью:
Главное их отличие в том, что MinGW сосредоточен в основном на компиляторе с некой поддержкой системных команд, в то время как Cygwin старается эмулировать полноценную UNIX-среду.
Установка MinGW
Первым делом нужно убедится, что на компьютере уже не установлен компилятор gcc. Нажмем Win+R и вызовем командную строку.
C:\Users\User> gcc -version
Если компилятор не установлен – выведется сообщение, что программа не найдена. Иначе, можно опустить установку и настройку MinGW и переходить прямо к разделу с настройкой VS Code.
Закрываем консоль (“cmd“) и переходим на официальный сайт проекта MinGW http://www.mingw.org/.
Ищем ссылку “Download” и переходим. Должно открыться что-то подобное, как на рисунке снизу.
Выбираем необходимые нам пакеты. Нам нужен базовый пакет mingw32-base и mingw32-gcc-g++. Отмечаем их
Внимание – приписка 32 в названии не означает работу приложения только и/или нацеленно на 32-битной платформе
После чего применяем внесенные изменения
Видим, что будет установлено/обновлено 24 пакета
Новое окно сообщает об успешном применении изменений
Теперь можем перейти в папку установки и убедиться в том, что все необходимое установлено (g++.exe и gcc.exe)
Выполним проверку установки переменной PATH. Проведем такую же проверку, как и в начале. Нажмем Win+R и вызовем командную строку.
Попросим компилятор вывести его версию следующей командой:
C:\Users\User> gcc -version
Если все сработало как нужно, то переходим к разделу с настройкой VS Code.
Если в консоли появилась ошибка, то нужно настроить переменную PATH. Это глобальная системная переменная и содержит в себе каталог исполняемых программ. То есть её настройка позволяет запустить программу по имени, не указывая полный путь до исполняемого файла. Их есть два вида – отдельная для каждого пользователя и одна общесистемная, которая доступна каждому пользователю.
Как настроить переменную PATH
Переходим в “Этот компьютер” и нажимаем правую кнопку -> свойства.
Далее в левой колонке жмем “Дополнительные параметры среды“
Далее в “Переменные среды“
Выбираем в списке переменных сред для пользователя выбираем переменную PATH и жмем “Изменить“.
Жмем “Создать” и вписываем полный путь до папки MinGW\bin
Нажимаем “Ок” и снова вызываем командную строку – Win+R – cmd.
Внимание – чтобы изменения переменной PATH вступили в силу, командную строку нужно перезапустить, если она осталась открытой.
Выводим для проверки версию компилятора:
C:\Users\User> gcc -version
Заодно проверим дебаггер:
C:\Users\User> gdb -version
VS Code – Hellow World
Скачиваем с официального сайта абсолютно бесплатный VS Code.
https://code.visualstudio.com/
Процесс установки опустим – подсказок установщика достаточно
Для корректного автодополнения, дебага и подсказок по документации стоит установить расширение C/C++.
Расширения устанавливаются прямо из VS Code во вкладке “Extensions” или Ctrl+Shift+X. На нижней картинке эта вкладка подчеркнута в левом столбце.
Найдем через строку поиска C/C++ и установим.
Далее создаем папку будущего проекта в произвольном месте на компьютере. Свою назвал “helloworld“. Она будет папкой всего проекта, который вы будете разрабатывать. В VS Code открываем папку используя File > Open Folder…
Откроется проект. Пока он пустой. Создадим первый файл в проекте через File > New File
Чтобы VS Code начал предлагать подсказки по вводу и подсвечивать синтаксис, следует сразу после создания файла сохранить его в необходимом расширении. По сути сейчас вы определяете язык будущего проекта. Нажимаете File > Save… и в открывшемся окне выбираете тип файла. Т.к. наш тестовый проект пишется на Си, выбираем его в выпадающем списке Тип файла.
Теперь при вводе текста будут появляться подсказки с автодополнением. Для подстановки предложенного автодополнения можно нажать Tab. В VS Code достаточно много удобных хоткеев. Посмотреть все быстрые клавиши можно тут File > Preferences > Keyboard Shortcuts
Запишем наш код HelloWorld в файл. В принципе, можно писать любой код – главное, чтобы был вывод в консоль для отладки.
#include int main(void)
Настройка компилятора
Время перейти к настройке компилятора и дебаггера.
Компилятор позволит из написанного кода собрать рабочее приложение.
Переходим Terminal > Configure Default Build Task…
Мы изначально определили язык программирования (во время сохранения) и VS Code самостоятельно нашел компилятор – нам предложено задать сценарий работы с ним.
Если самостоятельно VS Code не нашла компилятор, то нужно редактировать файл c_cpp_properties.json, который идет вместе с расширением. Именно в данном файле настраивается путь к includePath
Подробнее по ссылке на официальном сайте. Ссылка актуальна на 2020 год.
https://code.visualstudio.com/docs/cpp/configure-intellisense-crosscompilation
Кликаем по предложенной подсказке.
Текст файла примерно такой:
< "version": "2.0.0", "tasks": [ < "type": "shell", "label": "shell: gcc.exe build active file", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >> > ] >
Выглядит страшно, как и любой развернутый JSON
Гайд на официальном сайте vscode говорит о том, что этого достаточно, а если что-то идет не так, то отсылают почитать про функционал task.json. К сожалению, если оставить в таком виде, то собирать многофайловые проекты будет невозможно.
Если в вашем проекте будет НЕ больше одного файла, можете пропустить дальнейший текст и перейти к настройке дебаггера. Если планируется работать с несколькими файлами – рекомендую проделать дальнейшие манипуляции.
JSON – это текстовое представление данных/объектов (в основном в JS).
Обычно используется для передачи данных в парах Клиент-Сервер.
Массивы обозначаются квадратными скобками []
Ячейки обозначаются фигурными скобками <>
Обычная запись представляет собой пару ключ-значение через двоеточие:
< “Ключ” : “Значение” >
Значение может быть массивом, ячейкой, массивом ячеек и т.д. – ограничений нет.Коротко про JSON
Поле tasks содержит массив ( [массив] ), который состоит из ячеек отделенных фигурными скобками и запятыми ( [ , , ] ). В нашем случае этот массив содержит одну ячейку.
Создадим еще один элемент в массиве задач (task). Нужно скопировать все что есть в квадратных скобках (task[ вот это ]) и вставить через запятую в конце первой ячейки массива.
< "version": "2.0.0", "tasks": [ < "type": "shell", "label": "shell: gcc.exe build active file", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >>, < "type": "shell", "label": "shell: gcc.exe build active file", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >> ] >
Файл должен выглядеть примерно как указано выше. Следите за скобками и запятыми – если где-то будет ошибка VS Code сообщит. Удаляем ячейку “group” на строках 20-23. Этот параметр отвечает за выбор компилятора, который будет запущен по-умолчанию.
Нас сейчас больше всего интересуют строки с 27 по 31.
Изменим значение ячейки “label” на 27 строке на любое название. Пусть будет build c project. Именно по этому имени мы сможем понять какой именно компилятор сейчас выбран.
Ячейка “command” – это команда, которая будет передана в терминал/консоль для старта компиляции. Как мы видим, все правильно, это путь к gcc.exe.
Ячейка “args” – это список аргументов, который будет передан после команды. Не пугайтесь, мы уже это делали. Чуть ранее мы узнавали версию gcc путем передачи аргумента -version.
- “-g” указывает компилятору на необходимость вставлять в готовое приложение отладочную информацию – номера строк, имена переменных и т.д. Необходимо для корректной работы дебаггера (отладчика) GDB;
- Следующим аргументом идёт файл или список файлов. “$ ” означает текущий файл. То есть компилятору будет передан только один файл. Мы хотим, чтобы сюда входили все файлы из определенной директории. Да, одним из решений будет вписывать сюда каждый созданный .c файл, но разве это удобно? Значит записываем сюда конструкцию: Из этой директории, взять все .c-файлы. Получится следующее: “$/**.c“
- Аргумент вывода файла
- Путь вывода скомпилированного приложения.
В итоге, добавленная нами часть будет выглядеть следующим образом:
< "type": "shell", "label": "build c project", "command": "C:\\MinGW\\bin\\gcc.exe", "args": [ "-g", "$/**.c", "-o", "$\\$.exe" ], "options": < "cwd": "C:\\MinGW\\bin" >, "problemMatcher": [ "$gcc" ], "group": < "kind": "build", "isDefault": true >> ] >
Настройка отладчика
Теперь настроим дебаггер или отладчик. Переходим в наш файл с кодом, далее Run > Add Configuration…
Выбираем окружение GDB
Выбираем Сборка и отладка активного файла
Если возникла ошибка и открылось окно, нажмите на нем Abort. Это лишь значит, что не удалось собрать приложение – может быть синтаксическая ошибка.
Далее откроется файл launch.json
Для тех, кто добавлял свой task: Изменим значение preLaunchTask на то название, которое придумали для своего компилятора. В моем случае – это “build c project“. Чтобы не было путаница стоить изменить и поле “name“. Можете как и прошлом примере добавить еще одну конфигурацию запуска в массив конфигураций, оставив первоначальную без изменений.
Запускаем приложение
Снова переходим в созданный файл с кодом и выбираем Terminal > Run Build Task…
Эта команда проведет все шаги компиляции приложения и создаст в целевой папке исполняемый файл с расширением .exe
На картинке выше красным подчеркнут выпадающий список открытых терминалов (без паники – это как несколько cmd-консолей или терминалов в линуксе). Синим (правее красной линии, видно плохо) подчеркнуты элементы управления списком терминалов – их можно добавить, удалить или поставить парочку рядом.
Как мы видим, процесс компиляции завершился без ошибок и в списке файлов проекта появился .exe.
Создадим новый терминал.
Как мы видим, изменился порядковый номер нового терминала. Также видно, что мы находимся в папке с проектом. Отсюда можно вызвать наше скомпилированное приложение. Можно начать набирать его имя и нажать Tab и сработает автодополнение. На каждое следующее нажатие терминал предложит различные подходящие варианты под то, что имелось ввиду. Если предложить нечего – ничего не произойдет.
Вызовем наше приложение. В моем случае:
> .\hellowd_main.exe
Замечательно, вывод сработал как надо.
Теперь инициируем отладку/дебаггинг этого приложения, чтобы посмотреть как это работает.
Установим “Breakpoint” или точку останова. Все как в классических IDE.
Запускаем отладку Run > Start Debugging или f5
Выполнение программы было приостановлено в том месте, которое мы пометили точкой останова.
Открылось другое окно редактора, которое специально подготовлено для работы в режиме отладки. В левой части окна появилось четыре секции:
- VARIABLES все переменные
- WATCH сюда, через знак плюса можно добавлять переменные, функции и т.д. по имени
- CALL STACK стек вызовов функции. В общих чертах – функции часто вызываются в теле других функций.
- BREAKPOINTS все точки останова
Текущая выполняемая строка подсвечивается и имеет желтый указатель строки
Управление ходом отладки программы тоже удобное и классическое.
- Продолжить
- Сделать шаг
- Пройти “внутрь” текущей строки
- Выйти на уровень выше
- Перезапуск отладки
- Остановка отладки
Удачного освоения инструмента