Введение
Продолжая развитие проекта, описанного в предыдущих статьях, я сосредоточился на кардинальном улучшении пользовательского опыта и точности инструментов внутри 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. Но он глючноватый, окно постоянно пропадает.