Разное IDE для больших проектов на ассемблере

         

Требования в IDE


Перейдем к более интересному, а именно большим проектам. Традиционно считается, что на ассемблере сейчас большие проекты не пишутся (или вообще ничего не пишется). А мне, например, нравится и у меня есть несколько проектов с количеством строк, большим 10 000 у каждого. Причем менять язык я не планирую, а число проектов - только увеличивать. Кроме этого каждый мой большой проект (незавершенный, кстати) имеет порядка 300 процедур, примерно такое же количество структур и глобальных переменных и дюжина макросов. При этом каждая процедура имеет 5-10 локальных переменных и 1-3 структуры. Все это разбросано по 5-6 asm-файлам и такому же количеству inc-файлов. Ну, и как прикажете этим хозяйством управлять? Самое время подумать о выборе IDE для управления такого ассорти.

Но прежде я попытаюсь сформулировать те требования, которые я предъявляю к такой системе, в которой мне (лично) было бы удобно работать. В принципе, ничего сверх экстраординарного я не требую. Все ниже перечисленное идет в том порядке, в котором приходит в голову по мере написания, а не по степени важности. Для удобства я разобью эти требованию на группы:

1. Редактор текста.

1.1 Возможность настроить размер, стиль и имя шрифта. Я, например, предпочитаю все писать шрифтом Courier New, 14, bold;

1.2 Настраиваемая подсветка синтаксиса;

1.3 Возможность автозаполнения - выпадающая подсказка во время впечатывания символов. В саму подсказку должны входить ВСЕ глобальные переменные, процедуры, структуры, константы и все локальные для данной процедуры;

1.4 При наведении (клике) на переменную/константу/структуру/макрос/процедуру хотелось бы видеть ее во вспомогательном/всплывающем окне.

1.5 Желательно отделять цветом/стилем шрифта локальные переменные, глобальные и пр.

1.6 Неплохо (хотя и не критично для меня) было бы "сворачивать" процедуры и структуры.

1.6 Про прочие св-ва, присутствующие редакторам, типа настраиваемой табуляции и пр. даже неудобно напоминать.

2. Работа с проектами.

2.1 Удобство при добавлении и удалении файлов проекта (пофайловое добавление - это неудобство);

2.2 Возможность индивидуальных настроек у каждого проекта;

2.3 Копирование св-в одного проекта другому, наследование св-в

3. Непосредственно IDE

3.1 Отображение дерева из глобальных процедур, переменных, структур и констант с удобным поиском не только по первым символам (у меня многие процедуры начинаются одинаково);

3.2 Т.к. компилятор и линкер у masm консольный, то IDE должно захватывать результат компиляции и парсить его для того, чтобы в случае ошибки я мог перейти на нее одним кликом;

3.3 Удобная настройка запуска внешних приложений (отладчика например) с присвоением кнопки на тулбаре и сочетания клавиш;

3.4 Удобное создание и использование репозитария кода (хотя мне не очень важно);

3.5 Поддержка средств контроля версий;

3.6 Интерфейс для написания плагинов;

3.7 В качестве общего требования - как можно больше кастомизации (я люблю все под себя настроить).

Как это ни странно прозвучит, но я считаю редактор ресурсов абсолютно не нужным компонентом IDE, в качестве внешнего приложения - сколько угодно. Не стоит изобретать велосипед.



Содержание раздела