C++ IDE с анализом кода в реальном времени, автозаполнением и импортом контекста для использования учащимися

Еще в старшей школе, когда я проходил курс по Java, мы использовали IDE (не помню какую), которая указывала на проблемы в коде (использование чего-то, что не было определено, синтаксические ошибки и т. д.) в режиме реального времени, прежде чем компиляции, имел автозаполнение и позволял импортировать отсутствующие пакеты, щелкнув правой кнопкой мыши по проблеме. Сейчас я прохожу курс C++ начального уровня, и наш профессор рекомендует CodeLite в качестве IDE. Его использование было не самым лучшим опытом, потому что он упускает все вещи, которые я только что упомянул, кроме автозаполнения (меня даже не предупредили, что я случайно пропустил точку с запятой до сборки).

У меня был старшеклассник, который порекомендовал один из продуктов JetBrains, CLion (обзорное видео) , в котором есть обе вещи, о которых я упоминал ранее (и многое другое), но помимо того, что это стоит денег, это еще и оплата подписки, даже для личного использования. На оставшиеся годы обучения в колледже я хотел бы иметь бесплатную (по крайней мере, для личного, некоммерческого использования) C++ IDE, которая имеет автозаполнение, анализирует мой код в реальном времени, уведомляет меня о явных проблемах, а также позволяет мне легко импортировать пакеты классов/библиотек при использовании без предварительного импорта. Есть рекомендации?

Ответы (2)

Clion — отличная IDE, как и все, что предлагает JetBrains (вы не сможете превзойти бесплатную версию сообщества PyCharm для Python или WebStorm, если готовы платить (единоразово, без годовой лицензии, как у Clion)).

Clion бесплатен для вас, если вы студент дневного отделения - смотрите здесь .

Code Blocks получает отличные отзывы и обладает отличными функциями .

Мне также очень нравится NetBeans , мощный, но интуитивно понятный.

Но если вы хотите подготовиться к работе после выпуска, то большинство компаний, с которыми я консультирую, используют Eclipse CDT , который делает все, что вы просите.

Пока вы этим занимаетесь, приобретите себе систему контроля версий, научитесь отлаживать в IDE и научитесь автоматизировать модульное тестирование (Google Test — хорошее место для начала).

Как я могу импортировать контекст в Eclipse? Например, использование cout без включения iostream дает мне ожидаемое предупреждение о том, что cout не существует: i.imgur.com/J42MB4Q.png , но когда я щелкаю по нему правой кнопкой мыши, я не вижу какой-либо опции «Включить iostream». : i.imgur.com/MAHZWIg.png
Из stackoverflow.com/questions/1301850/… «Текущие версии Eclipse CDT также имеют эту встроенную функцию: перейдите в меню «Источник» и нажмите «Организовать включения», чтобы расположить ваши #include в алфавитном порядке, добавить любые заголовки, которые, по мнению Eclipse, вы используете без прямого включая их, и комментирует любые заголовки, которые, по его мнению, вам не нужны. Однако эта функция не на 100% надежна».
Раньше я не знал об этой функции. Я только что попробовал это и стал новообращенным. это отличный материал
Он даже достаточно умен, чтобы учитывать пространства имен. Если я использую std::cout без включения iostream, он будет включен для меня. Если я использую cout, iostream не включается. Если я добавлю «используя пространство имен std», теперь он включает iostream только для cout. Eclipse достаточно прост для использования кем-то моего уровня, и в качестве бонуса он также используется в промышленности — я думаю, это то, что я собираюсь использовать, спасибо!

Я бы рекомендовал Visual Studio 2015 Community Edition, если вы работаете в Windows. Visual Studio имеет один из лучших автозаполнений, которые я когда-либо видел, и поддерживает C++.

Он предназначен больше для разработки .NET, поскольку использует C++ .NET, но будет работать и для кода C++. Он показывает такие ошибки, как отсутствие точки с запятой, и имеет довольно хорошие функции отладки.

Поддержка импорта/исправления включает в себя:

С++ включает

В Visual Studio много лишнего шума для тех, кто учится. Я также не смог найти способ импорта контекста.
@Дрю, привыкай. Компании используют VS в реальной жизни, и вы получите преимущества, когда узнаете об этом.
Я думаю, это зависит от того, что вы разрабатываете. Я делаю встроенные программы, и только одна компания использовала MSVC, и это было более 15 лет назад. Все остальные используют Eclipse. Я предполагаю, что вы разрабатываете приложения для Windows (?)