Введение
Продолжая развитие проекта, описанного в предыдущих статьях, я сосредоточился на кардинальном улучшении пользовательского опыта и точности инструментов внутри IDE. Основной акцент сделан на редакторе кода и системе подсветки синтаксиса . Теперь IDE представляет собой полноценную оболочку поверх GnuCOBOL , созданную специально для обучения и экспериментов с языком COBOL под Windows как для новичков, так и для энтузиастов.
Что нового
? Полностью переработанный редактор кода
Отслеживание изменений: Редактор теперь отслеживает, был ли файл изменен (
[Modified]в заголовке), и запрашивает подтверждение при закрытии или открытии нового файла без сохранения.Панель инструментов: Добавлена
TToolBarс кнопками для быстрого доступа к основным функциям: Новый, Открыть, Сохранить, Компиляция, Запуск, Отладка, Поиск.Контекстное меню: Для редактора добавлено контекстное меню с опциями Вырезать, Копировать, Вставить, Выделить всё, а также быстрый доступ к компиляции и запуску.
-
Улучшенное автодополнение:
Словарь автодополнения значительно расширен, включая почти все ключевые слова, уровни, контекстные слова и препроцессорные директивы из
TCobolHighlighter.Логика срабатывания улучшена: подсказки появляются при вводе букв, цифр и даже после удаления символов.
Исправлены ошибки в определении границ текущего вводимого слова.
Поддержка «Последних файлов»: Меню «Файл» теперь содержит подменю с недавно открытыми документами для быстрого доступа.
Функция «Сохранить как...» : Реализована возможность сохранения файла под новым именем.
Печать: Добавлена базовая поддержка печати содержимого редактора.
Горячие клавиши: Назначены стандартные горячие клавиши для всех основных действий (например,
Ctrl+N,Ctrl+O,Ctrl+S,F7,F5,F9,Ctrl+F).Улучшенная вставка из буфера: Обработка
Ctrl+Vпереписана для корректной работы с большими объемами текста и переподсветки всего содержимого.
? Полная и точная подсветка синтаксиса TCobolHighlighter
Система подсветки претерпела масштабные изменения, став одной из самых точных для COBOL в доступных средах разработки под Windows:
-
Позиционная чувствительность COBOL:
Реализована логика определения столбцовой позиции символов (учитывая табуляцию).
Добавлена проверка размещения ключевых элементов в зонах A (1-7) и B (8-72).
Уровни
01и77теперь подсвечиваются только при правильном размещении в зоне A.
-
Расширенная подсветка уровней переменных:
Поддержка всех уровней от
01до49, а также специальных66,77,88.Отдельная цветовая схема для уровня
88(условные имена) иFILLER.
-
Подсветка форматов
PIC:Корректное распознавание
PICиPICTURE.Поддержка сложных форматов (
9(n),X(n),S9(n)V99,COMP-1и т.д.).Выделение самого формата отдельным цветом.
-
Специальные секции и контекстные ключевые слова:
LINKAGE SECTION,SPECIAL-NAMES,LOCAL-STORAGE SECTIONподсвечиваются отдельно и проверяются на размещение в зоне B.Широкий спектр контекстных слов (
USAGE,COMP-x,OCCURS,VALUE,RENAMESи др.) получил собственную подсветку.
-
Расширенный словарь и стили:
Добавлены десятки новых ключевых слов и инструкций (
EVALUATE,STRING,INSPECT,SETи т.д.).Для каждого типа элементов синтаксиса определены уникальные цвета (оранжевый для уровней, магента для 88-уровней, фиолетовый для специальных секций и т.д.).
-
Улучшенная обработка строк и препроцессора:
Поддержка строк в одинарных и двойных кавычках.
Расширена поддержка препроцессорных директив (
EXEC SQL,COPYи др.).
-
Производительность и структура:
Оптимизированы алгоритмы обработки строк.
Код модуля подсветки стал более модульным и читаемым.
Добавлены проверки для повышения стабильности.
Улучшенная компиляция и запуск
Настройка путей: Пути к
cobc,gdb, а также к каталогамincludeиlib(например, дляlibgmp) вынесены в конфигурационный файл (INI), что делает IDE более гибкой.Обработка ошибок компиляции: Вывод
cobcтеперь перехватывается и анализируется. Сообщения об ошибках и предупреждения отображаются в логе компиляции.Кликабельные ошибки: Сообщения об ошибках в логе стали кликабельными – двойной клик по строке вида
[имя_файла:номер_строки] Ошибка: ...перемещает курсор редактора к соответствующей строке.Улучшенный запуск: Исполняемый файл теперь запускается в отдельном окне консоли, что улучшает пользовательский опыт.
Улучшенная отладка: Команда компиляции для отладки (
-g) и запускgdbв режимеtuiчерезcmd /Kстали более надежными.
Цель проекта
Эта IDE задумана как дружелюбная и функциональная оболочка поверх GnuCOBOL . Она предоставляет начинающим и тем, кто хочет освежить знания COBOL, удобную среду для написания, компиляции, запуска и отладки программ на этом языке программирования под операционной системой Windows. Упор на точную подсветку синтаксиса и стандарт COBOL-85 делает её отличным инструментом для изучения языка.
Итоги
Третья итерация COBOL IDE на Delphi превратила её из простого прототипа в мощный и удобный инструмент:
Мощный редактор с современными удобствами.
Высокоточная подсветка с учетом всех нюансов синтаксиса и позиционной чувствительности COBOL.
Улучшенный процесс разработки с компиляцией, запуском и отладкой.
Отличный выбор для изучения COBOL под Windows.
Где скачать
Все исходники и последние обновления доступны на GitHub:
diakin
Я в своей среде для RapidQ Basic часто пользуюсь закладками. Но не слепыми, как в Дельфи, с номерами, а "именованными", которые включают в себя саму строку с закладкой. Это один из основных инструментов навигации по тексту.
Второй инструмент - Поиск с выводом списка найденных вхождений. В Дельфи такое есть, вернее в дополнениях.
HemulGM
Бесплатный плагин решает проблему с закладками. https://blogs.embarcadero.com/boost-productivity-with-useful-bookmarks-ide-plugin-to-bookmark-and-navigate-code-in-delphi-and-cbuilder/
А поиск и список найденого есть из коробки. И не только в файле или файлах проекта, но и группы проектов, папке с вложенными папками и т.д.
От создателя плагина с вкладками, есть ещё плагин, который позволяет видеть стек всех потоков сразу в отладке
diakin
Да, есть еще Bookmark Browser в cnpack. Но он глючноватый, окно постоянно пропадает.