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