Редактор GoldED 4.73 для программистов

Автор: Андрей Черешнев
Источник: "http://winuae.newmail.ru/"

Что такое GoldED?
Скрытие частей текста программы
Выделение цветом языковых конструкций
Контекстная справочная система
Определение и разбор содержимого файлов
Некоторые специальные возможности GoldED

Текстовый редактор GoldED является одним из самых популярных среди программистов работающих на платформе Amiga. Полностью настраиваемый, удобный в работе, быстрый, и к тому же имеющий помимо обычных возможностей свойственных всем текстовым редакторам, большое число специализированных. О некоторых из таких возможностей я бы и хотел рассказать в этой статье. Рассматриваемая версия GoldED - 4.73 является freeware (бесплатная) и имеет скромные минимальные требования к машине - AmigaOS 2.04, процессор 68020 и 2Mb любой памяти.

Так выглядит редактирование программы в GoldED

Hello World

Скрытие частей текста программы

Это одна из самых самых полезных возможностей GoldED, которая позволяет скрывать отдельные части текста (другими словами "сворачивать", Fold) в одиночные строки.

В окне редактора свёрнутые строки выглядят так:

> комментарий_к_свернутому_тексту

"Скрытие" помогает более удобно редактировать большие по объему файлы исходников программ. Например, это может оказаться полезным, когда требуется разделить исходный текст программы на логически связанные блоки и "скрыть" их. Зато потом можно "разворачивать" (UnFold) только те блоки, с которыми требуется работать (редактировать).

Для того чтобы свернуть блок текста, его нужно заключить в комментарий похожий на принятый в C++ ("///"). Т.е. скрываемый блок заключается между коментарияем вида "/// любой текст" в начале блока, и таким же коментарием "///" (но уже без текста за ним) в конце.

Пример скрываемого блока:

/// "Цикл обработки сообщений"
        {
            ULONG sigs = 0;

            while (DoMethod(app,MUIM_Application_NewInput,&sigs)
                            != MUIV_Application_ReturnID_Quit)
            {
                if (sigs)
                {
                    sigs = Wait(sigs | SIGBREAKF_CTRL_C);
                    if (sigs & SIGBREAKF_CTRL_C) break;
                }
            }
        }
///

Для того чтобы "свернуть"/"развернуть" оформленый таким образом блок, требуется установить курсор на комментарий обозначающий его начало (если блок "свёрнут"), или на любую строку внутри блока (если блок "раскрыт") и нажать клавишу Help. GoldED подсвечивает строки содержащие комментарии скрываемых блоков и вы можете легко отличать их от других.

Существует и более удобный способ для сворачивания текста - выделите нужный текст, а затем в меню "Macros" выберите пункт "Macros/Fold...", и в открывшемся окне введите комментарий к блоку. GoldED сам расставит нужные символы.

Запомните, что для того чтобы развернуть блок, нужно установить курсор на подсвеченную строку и нажать клавишу "Help", повторное же нажатие, свернёт текст обратно.

Нужно помнить и о том, что команды поиска и замены не будут искать/заменять текст в свернутых блоках. Сначала их нужно раскрыть.

Пункты "All folds: Fold" и "All folds: UnFold" меню "View" / "Fold" позволяют сворачивать и раскрывать блоки текста сразу во всем файле.


Выделение цветом языковых конструкций

Позволяет выделять цветом отдельные синтаксические конструкции различных языков, например С/С++, Ассемблер, HTML и др. Чтобы установить выделение выберите пункт "Options local..." из меню "Extras", и в открывшемся окне кликните на ярлыке "syntax".

Для того, чтобы установить выделение для языка С, кликните на кнопке выбора файла. В появившемся запросе выберите файл warpC++.parser, или warpStormC++.parser если вы используйте компилятор StormC.

Так выглядят настройки цветовыделения в GoldED

Syntax

В окне появятся элементы языка которые можно выделить цветом. Например С и С++ комментарии, зарезервированные слова и т.д. Кнопки со стрелками вниз, выводят окна в которых можно выбрать цвет, левая кнопка - цвет символов, правая - цвет фона. Например, выделение цветом таких элементов как Reserved words, Preprocessor, Types позволяет не только визуально выделить синтаксис языка, но и проследить за правильным вводом текста программы.

Для установки/снятия (Active/Off) выделения цветом кликните на кнопку "раскрывающегося" списка. Или воспользуйтесь пунктом "Syntax Highlighting" из меню "View" .


Контекстная справочная система

Полезная особенность GoldED - гибкая контекстная справка, открывающая (по желанию пользователя) окно содержащее информацию о слове (команде, имени и т.д.) на котором стоит курсор. Например, можно указать на имя структуры, и в открываемое окно загрузится файл содержащий определение этой структуры. Для того чтобы получить контекстную справку о слове, выберите из меню "Search" пункт "Reference", или "Reference..." (если вы хотите ввести слово). Также можно воспользоваться контекстным меню всплывающим по нажатию правой кнопки мыши.

Но прежде чем начать работу со справочной системой, ее сначала нужно установить. Для этого, выберите пункт "Options local..." из меню "Extras", в открывшемся окне кликните на ярлыке "references". Установка справочной системы сводится к выбору директорий (файлов) к которым она будет обращаться за информацией. Обычно выбираются директории содержащие файлы-заголовки (например: "include:", "StormC:Include/"), а также директории содержащие файлы описаний в формате "AutoDoc" (например: "MUI/Autodocs", "МояБиблиотека/Autodocs"). После того как все необходимые директории были указаны, GoldED заносит нужные ссылки в файл базы данных (database). Имя файла справочной базы данных задаётся пользователем.

Так выглядят настройки справочной базы данных в GoldED

Syntax

Как можно увидеть из иллюстрации, окно установки делится на два списка: список файлов баз данных - "Databases" и список имен директорий (файлов) - "Reference documents", содержащий пути к описаниям. Теперь, кликните на кнопке "+", введите имя файла базы данных, затем выберите директории (файлы) содержащие описания. И, наконец, кнопкой "Create" создайте файл базы данных. Справочная система настроена.


Определение и разбор содержимого файлов

Для обзора содержимого файла, например всех определений функций языка C, в GoldED применяется специальные расширения называемые сканерами. Выберите пункт "Function list..." из меню "Search". Если файл в окне - текст программы на языке С, то откроется окно в котором будут перечислены все функции определенные в файле (в терминалогии GoldED - секции).

Функции содержащиеся в теле программы на C

Sections

Очевидно, что в программе приведённой на иллюстрации, имеется только одна функция main(). Однократный клик на функции в списке, переместит курсор в место ее определения в теле программы. При двойном клике, окно "Sections" после перемещения курсора будет закрыто. Выставленный флаг "Unfold" разрешаетет сканирование "скрытых" блоков текста, а флажок "Sort" сортирует выводимый список в алфавитном порядке. Кнопка "Update" служит для обновления списка. А вот если нажать на кнопку "Mode", то будет открыто дополнительное окно, в котором будут пречислены все имеющиеся в вашем распоряжении сканеры.

Пример списка сканеров доступных в GoldED

Scaners

Сканер используемый в данный момент - активный. Он выбирается автоматически, в зависимости от типа файла, например сканер "с" выбирается если расширение файла , "аutoDoc" если расширение .doc и т.д. Пользователь может принудительно менять активный сканер когда ему потребуется получить другую информацию. Например, он может выбрать сканер "defines" для отображения списка всех макро-определений в файле.


Некоторые специальные возможности GoldED

В заключение, приведу еще несколько полезных возможностей GoldED.

В меню "Search", пункт "Function find" позволяет с помощью сканеров автоматически находить определение слова на котором находится курсор. Например, если поставить курсор на строке вызова С функции и выполнить эту команду, то курсор переместится на строку определения этой функции.

Также в меню "Search" можно увидеть пункт "Check ((..))". Его используют для проверки совпадений количества открытых и закрытых скобок в различных выражениях. Установите курсор на строке содержащей выражение и выберите этот пункт. Если открытых скобок больше чем закрытых, то появится сообщение "Too many opening brackets". Если же больше закрытых, то сообщение будет выглядеть: "Unexpected ')' in номер_столбца".

Пункт "Matching Bracket" позволит установить соответствие символов начала - { и конца - } блока на языке C. Это очень удобно когда в тексте программы много вложенных блоков, позволяет избежать сообщений об ошибках со стороны компилятора и логических ошибок. После установки курсора на символе "{" или "}" и выполнения этой команды, курсор должен перейти к соответствующему ему символу.


Андрей Черешнев ; Copyright 1998-2001

Сайт создан в системе uCoz