Comments 60
При наличии Qt Creator и Eclipse использовать VS Code для C++ как-то странно
https://packages.microsoft.com/yumrepos/VScode => 404 Not Found
Правильный адрес: https://packages.microsoft.com/yumrepos/vscode
Строчка, помеченная красной точкой слева — место, где остановится программа, при выполнении.
Не для слишком ли начинающих?
Тем не менее, в vscode есть хорошее расширения для CMake и, субъективно более удобный для автокомплита, чем дефолтное расширение, анализатор для Clang.
Хотя под Линукс особо выбора-то и нет (а до оригинальной Visual Studio всем другим очень далеко).
Qt Creator пожалуй лучшая, хотя и в ней есть масса недостатков.
CodeBlocks ничего так, но до сих пор нет поддержки Qt5.
Eclipse просто странная (пробовал ей под виндой собирать проекты для микроконтроллера, долго плевался — у них все не как у людей).
А то, что Sublime, например, написан на Pyhton не смущает?
Опять же вы некорректно сравниваете текстовый редактор(gedit, Atom) и IDE(QTCreator, Eclipse)
Из «текстовых редакторов с поддержкой программирования» лучшим под Линукс пожалуй будет Geany. Можно скомпилировать и запустить простенькую программу, ну и подсветка синтаксиса есть.
@cwgem Sublime Text 2 is written in C++, with some Objective C for Cocoa integration, and Python for plugins
Ссылка
Python там только в плагинах, и то никто не запрещал писать компоненты на C++ и связывать их с Python, я видел минимум один плагин, написанный таким образом.
Хотя под Линукс особо выбора-то и нет
Вы перечислили две: Qt Creator + Eclipse,
еще CLion, KDevelop, https://netbeans.org/features/cpp/,
я лично использую emacs + rtags, так уж и нет выбора?
CLion, Eclipse, Qt Creator, это всё отлично работает не только на винде.
Ничем не подкреплённое утверждение. Впрочем, чего я ожидал в этом блоге?
Куда корректнее сравнивать VsCode и Sublime, например
Справедливости ради, с отладкой на линуксе и правда не все так приятно. Всегда вспоминается пример с Valve, когда они спросили, чем могут помочь linux сообществу. С большим перевесом победил «Улучшенный отладчик». На хабре было мельком https://habrahabr.ru/post/204836/
И если не сложно приложите скрин кода launch.json
Возможно, вы что-то напутали с директивой отладки/сборки

2) На Windows10 нет встроенного gcc
3) На Windows10 нет встроенного gdb
Вам нужно их поставить отдельно и прописать в переменные среды, но заработает ли, это большой вопрос.
Поищите информацию по использованию компилятора из VS-старшей и подготовки редактора именно для использования на Win10
Но я делал с MinGW.
http://imgur.com/tCHgRlf
Давайте начистоту, мало кто использует отладчик GDB на Linux в консольном варианте
Я например никого не знаю кто использует GDB не в консоле.
Соглашусь. Более того, далеко не всегда (конечно, из моего личного опыта, не претендую на истину в последних инстанциях) есть возможность в принципе какой-то GUI запустить на Linux машине, где нужен gdb :) Чаще всего это какие-то сервера или встраиваемые системы, на которых консоль и только консоль, ибо большего не требуется) Иногда даже там сам gdb не помещался, только gdb-сервер, и приходилось отлаживать удаленно с другой машины.
А если серьёзно, то для отладки кода на встраиваемых системах это единственный способ (Beaglebone, Raspberry PI).
Идеально, конечно, иметь GUI отладчик, который позволил бы ещё отлаживать приложение по сети, запущенное на другой машине.
Но увы, пока о таком я не слышал.
Qt Creator умеет заливать и отлаживать приложение на удаленной машине по SSH.
Главное, чтобы на удаленном хосте была поддержка SFTP.
На отлаживаемой машине запускается gdbserver, к которому подключается компьютер с IDE. Собственно я большую часть времени только так и работаю.
Этот способ также работает и для кросс-компиляции, главное правильно сконфигурировать тулчейн
После установки компилятора, нужно будет добавить его путь в переменные среды Windows, чтобы вызывать его из любого места. Если вы это сделаете, то непосредственно компиляция проекта не будет отличаться
Про переменные среды и MinGw вы можете посмотреть тут
https://maxspblogt.wordpress.com/2016/10/05/программирование-в-notepad/
Принцип по которому все будет работать, не сильно отличается:
1) Вы делаете доступным отовсюду компилятор
2) Подаёте ему на вход свой исходник
Если интересно, то для Windows есть решение по-интереснее https://maxspblogt.wordpress.com/2017/04/27/готовим-pc-к-лабкам/
1. apt install очень удобная штука. Раскидает все утилиты/библиотеки/заголовочные файлы по необходимым путям (не надо будет прописывать эти пути в процессе конфигурации проекта)
2. update-alternatives: system-wide переключение между комплектами сборки однострочником.
3. поддержка стандартов с++ в msvc уступает таковой в gcc/clang
4. нативный API windows ужасен. Скажем, чтобы создать ярлык, нужно около 20 строк кода, в котором пару раз придется обойти ошибку «попытка передать const char * в функцию, принимающую char *» (которая не меняет строку).
5. Куча специфичных мелочей типа симлинков, RPATH, правил линковки, множества стандартных консольных утилит и пр.
6. Воспроизводимость системы (важно при сборке в докере, например)
Разрабатывать на Windows, конечно, удобнее и приятнее,Это с какого перепугу?!
Относительно недавно я переехал на Linux.Вот с этого надо было начинать. Попробуй программирование и отладку в Qt Creator, Valgrind и т.п. и потом сравни с VS. В Linux-e гораздо удобнее и приятнее разработка.
Относительно недавно, это ~3 года назад
А на Windows удобнее, чисто имхо, да и интересно выслушать мнение других людей по этому поводу.
Например, я лично уже не один год каждодневно работаю в VS на C#. Но что насчёт QtCreator, он мне показался каким-то муторным, я больше к VS как-то привык. Valgrind — с ним не познакомился так близко, чтобы делать какие-то выводы
Ага, когда boost:: на Linux ставится одной строчкой в консоли, а в винде приходится выкачивать архив, который распакованным занимает 35 гигабайт места на диске и вручную прописывать пути в проекте до библиотеки.
QtCreator более простой, чем MSVS во всех смыслах — и по юзабилити, и по функционалу. К самой студии (если речь про полноценную MSVS2017) у меня претензий нет. Code — по большей части игрушка для хипстеров и проектов < 20-50 файлов.
Valgrind — с ним не познакомился так близко, чтобы делать какие-то выводы
Но именно благодаря ему я нашел несколько отвратительных трудновоспроизводимых (в т.ч. и в зависимости от архитектуры) багов в программе. Он, конечно, не спасет от кривой работы со структурами, но часто может спасти после часов разбора "да откуда же этот segmentation fault лезет"
Хаха дайте ему пару лет. Через года так три, он сам будет смеяться над этим предложением :)
Например, я лично уже не один год каждодневно работаю в VS на C#.Согласен, самому нравится.
Но что насчёт QtCreator, он мне показался каким-то муторным, я больше к VS как-то привык.Я наоборот больше привык к QtCreator: поработаешь в нём больше — поймёшь, что навигация по коду в нём гораздо быстрее и удобнее, горячие клавиши гораздо понятнее и проще работают, и меньше нажимать нужно.
VS Code — прекрасен, мое основное средство для разработки MIPSfpga-plus. В одном редакторе одинаково удобно править Verilog, C и asm. Но когда, когда они наконец реализуют memory view???
https://github.com/Microsoft/vscode-cpptools/issues/509
Использую Emacs + gdb + gtags + global.
С/С++ на Linux в Visual Studio Code для начинающих