Как gcc в MinGW подружить с VS CODE (visual studio code), чтобы можно было прямо в консоли программы видеть исполнение?
Собственно я установил MINGW, поставил gcc и хотел бы в VS Code отлаживать. Поставил плагин для С/С++ всё в том же VS Code, а сконфигурировать не выходит, нужен чей-нибудь опыт. Помогите если не сложно. Спасибо!
p.s.
папка /MinGW/bin у меня в переменных среды path прописана
Простите, а зачем вы хотите отлаживать в VS Code? Это же по сути текстовый редактор с подсветкой синтаксиса. Вам лучше воспользоваться полноценной VS c соответствующим плагином для GDB или на стадии после сборки использовать cv2pdb для того что бы конвертировать дебажные символы в PDB формат. Тогда вы сможете проводить отладку в полноценной IDE от мелгомягких. Как вариант можно перейти на QtCreator или Clion или другие IDE с поддержкой GDB/
Да мне для удобства, я помогаю сестре разбираться с Си и не хотел ничего такого ставить, мне достаточно было бы и notepad++, но суть в том, что раз у меня установлен vs code, а он умеет дебажить и в консоль выводить, то я хотел бы этим воспользоваться, но вот как-то плохо получается. не одно, так другое. Но я уже почти настроил))
Вроде как вот тут https://code.visualstudio.com/docs/languages/cpp подробно расписано, только один нюанс, лучше запускать VS Code непосредственно из MinGW/Cygwin/Msys2 если ваш GCC является их составной частью.
Самый простой вариант сделать симлинк на бинарник VS Code, в командной строке от администратора выполняем mklink C:\MinGW\bin\vscode.exe "C:\Program Files (x86)\Microsoft VS Code\Code.exe"
Затем запускаем bash входящий в состав MinGW, например C:\MinGW\msys\1.0\msys.bat
А уже из bash запускаем VS Code вызывая просто vscode (симлинк который создавался ранее), таким образом запущенный VS Code наследует все переменные окружения, в том числе и PATH которые определяет MinGW. Это избавит от необходимости прописывать что либо в системный или пользовательский Path операционной системы, так как MinGW/Cygwin/Msys2 определяют необходимые им переменные окружения при запуске встроенной в них консоли. Подобный подход избавляет от многих проблем связанных с зависимостями gcc или clang от окружения в котором они выполняются.
Забавный нюанс, если вы будете использовать clang, и хотите что бы он собирал код под платформу которая не является его дефолтной, например x86_64-pc-windows-msvc (Visual Studio). То вы можете сделать копию бинарника clang.exe, назвать его i686-w64-mingw32-clang.exe то по дефолту он начнёт собирать код под mingw-w64 32bit. Это избавляет от необходимости указывать ему флаг --target=i686-w64-mingw32 и по умолчанию он начнёт искать в PATH binutils с таким же префиксом, например i686-w64-mingw32-gcc i686-w64-mingw32-ld i686-w64-mingw32-ar и т.д.