Раньше для разработки на Си вообще, и под микроконтроллеры AVR в частности я использовал IDE NetBeans, относительно уникальной фичей которой была поддержка С/С++ и GCC-ассемблера из коробки, с подсветкой синтаксис, возможностью сборки проекта и рефакторинга. Но, увы, после того как Oracle передали NetBeans в Apache, те превратили эту некогда неплохую IDE в унылое говно, выпилив оттуда поддержку С/С++ и заменив её на непонятное нечно, которое как бы есть (в меню создать С/++ проект все ещё можно), но по факту уже много лет как абсолютно неработоспособно.
В итоге пришлось искать альтернативу для разработки на Си, как "обычной", так и под микроконтроллеры. Кроме того, мне нужна была среда для разработки на C-- для AVR и, в перспективе, под другие 8-битные платформы. При том, что готовую IDE хотелось получить за минимальное время и минимальными усилиями, в качестве основы был взят редактор RText. Т.к. более правильный путь в виде кастомизации другой IDE путем написания плагинов к ней оказался бы гораздо более трудозатратным.
В итоге в RText была добавлена подсветка синтаксиса ассемблера AVR, файлов The Rat и hex, а подсветка синтаксиса Си была доработана - в частности, добавлено выделение цветом портов ввода-вывода в зависимости от используемого микроконтроллера. Также была добавлена сборка проектов с поддержкой Makefile, AVR Rat и проектов make.builder. Для кода на AVR Rat (как чистых проектов, так и в связке с GCC) добавлен показ ассемблерного листинга, который можно видеть в отдельной вкладке. При перемещении по исходному art-файлу, во вкладке листинга будет показываться соответствующий фрагмент.
Рабочая область IDE выглядит так:
Слева во вкладке Projects - дерево файлов проектов. Внизу - сообщения компилятора при сборке проекта. Если при компиляции возникнут ошибки, то кликнув по ним можно перейти в соответствующий исходник. Справа - вкладка листинга AVR Rat, где можно видеть, во что был откомпилирован C-- код. Включить/выключить отображения этих панелей можно в меню View - Docked Windows.
Создать новый проект можно в меню Project - New project. При этом появится диалог
Тут вводится имя проекта и его директория. Выбирается тип создаваемого (AVR Rat, AVR GCC или обычное Си-приложение), кодировка файлов исходного кода и главный файл (для AVR Rat). Для проектов AVR также нужно выбрать модель микроконтроллера. Альтернативный способ создания проекта - вручную в контекстном меню вкладки Projects с последующим добавлением туда нужных файлов.
После создания проекта его настройки можно изменить через контекстное меню (правый клик по корневому узлу проекта, команда Properties..):
В этом диалоге можно выбрать систему сборки для gcc-проектов - Makefile или Builder (make.builder).
В главном меню Project также можно запустить сборку, перейти во вкладку листинга или залить прошивку через avrdude.
В главном меню File кроме стандартных команд RText добавлены команды переключения между файлом заголовка Си и исходным файлом. Для AVRGCC-кода и проекта make.builder тут также можно посмотреть размер текущей функции (в байтах) в скомпилированной прошивке или перейти к ассемблерному листингу этой функции. Для этого курсор в окне редактора должен находиться на первой строке объявления функции. Также можно посмотреть размеры всех функций из текущего c-файла.
Добавление новых файлов в проект делается через контекстное меню проекта.
Если в исходном файле С/С++ текущая строка содержит директиву include, то комбинацией Alt+Enter можно перейти в соответсвующий заголовочный файл.
Для запуска IDE требуется Java JRE версии не менее 17. Исходный код доступен на github, скачать готовую сборку можно по ссылке ниже.