<< Click to Display Table of Contents >> Navigation: Раздел 3 Пользовательский интерфейс ''Конфигуратора'' > Редактор кода |
Редактирование исходных кодов программных модулей производится в "Редакторе кода". "Редактор кода" доступен в следующих окнах "Конфигуратора":
• |
В окне "Редактор диалогов" (см. подраздел "Редактор диалогов") при выборе закладки "Модуль" в правой нижней части окна (рис. "Окно "Редактор кода""). Закладка "Модуль" открывается автоматически при двойном нажатии на событии элемента формы в дереве элементов формы. |
• |
В окне редактирования глобального модуля "Main" (открывается при двойном щелчке на "Main" в ветви дерева конфигурации "Глобальные модули"); |
При двойном нажатии на каком-либо событии в модуле создается пустая функция-обработчик этого события (если функция не была создана ранее). Курсор при этом помещается в начало первой строки данной функции.
Рис. Окно "Редактор кода" |
Автодополнение
В "Редакторе кода" реализована функция автодополнения при печати текста исходного кода в окне "Редактор кода". Т.е. при наборе одной и более букв, появляется всплывающий список с перечнем ключевых слов, переменных, процедур и функций, начинающихся с введенных букв (рис. "Всплывающий список автодополнения в "Редакторе кода""). Функции в списке помечаются розовым значком, процедуры – зеленым значком, переменные – синим значком, а ключевые слова L9 – красным цветом шрифта. При выделении строки с названием предопределенной процедуры или функции справа от списка появляется всплывающая подсказка с кратким описанием выбранной процедуры или функции. При вводе названия глобального модуля (например, "глоб") и символа "." (точка) во всплывающем списке показываются процедуры, функции и переменные, описанные в глобальном модуле и помеченные как эспортируемые (см. подраздел "Глобальный модуль"). При вводе в "Редакторе кода" какой-либо формы ключевого слова "ЭтаФорма" и символа "." (точка) во всплывающем списке показываются все методы и свойства формы, а также элементы формы, размещенные на данной форме (см. подраздел "Элементы формы").
Рис. Всплывающий список автодополнения в "Редакторе кода" |
Для вывода в редактор кода значения из всплывающего списка, необходимо выбрать нужное значение и нажать кнопку "Enter".
В "Редакторе кода" имеется возможность автоматического создания пустой конструкции нужного оператора, функции или процедуры.
При вводе в "Редакторе кода" первых символов оператора, функции или процедуры и нажатии кнопки "Tab" в модуле создается соответствующая пустая конструкция.
Работа со словарем
В "Редакторе кода" имеется возможность вставить в исходный код фразу из словаря. Для этого необходимо ввести ключевое слово "dict" (или "слов") и нажать пробел. При этом появится окно "Редактор словаря" (см. подраздел "Редактор словаря"), из которого необходимо выбрать фразу, которая будет вставлена в исходный код.
Подсветка синтаксиса
Для удобства редактирования кода модуля в "Редакторе кода" выделяется цветом шрифт элементов встроенного языка:
• |
Ключевые слова, операторы – красным цветом; |
• |
Константы – черным цветом; |
• |
Значения "Неопределено" ("Undefined"), "Истина" ("True"), "Ложь" ("False") – розовым цветом; |
• |
Переменные – синим цветом; |
• |
Комментарии – зеленым цветом. |
Текущая строка в модуле, на которой установлен курсор, подсвечивается зеленым цветом фона.
Панель инструментов
При работе в "Редакторе кода" доступна панель инструментов (см. рис. Панель инструментов для работы в "Редакторе кода") для выполнения различных операций с исходным кодом модуля.
Рис. Панель инструментов для работы в "Редакторе кода" |
Назначение кнопок панели инструментов, с помощью которых можно выполнять операции над выделенными блоками исходного кода, описано в таблице.
Таблица. Назначение кнопок панели инструментов "Редактора кода"
Кнопка |
Назначение |
---|---|
Уменьшить отступ строки ("Shift + Tab"). |
|
Увеличить отступ строки ("Tab"). |
|
Закомментировать ("Ctrl + /"). |
|
Раскомментировать ("Ctrl + Shift + /"). |
|
Свернуть все блоки кода ("Ctrl + Shift + +"). |
|
Развернуть все блоки кода ("Ctrl + Shift + –"). |
|
Установить/удалить закладку ("Alt + F2"). |
|
Предыдущая закладка ("Alt + P"). |
|
Следующая закладка ("Alt + N"). |
|
Предыдущая закладка в текущем документе ("Shift + F2"). |
|
Следующая закладка в текущем документе ("F2"). |
|
Удалить все закладки. |
Автоматическое форматирование
Для удобства чтения исходного кода в "Редакторе кода" возможно автоматическое форматирование исходного кода с помощью "горячих" клавиш "Alt+Shift+F". При нажатии комбинации клавиш в исходном коде текущего модуля автоматически устанавливаются шаги табуляции.
Форматирование
"Редактор кода" позволяет выполнять ряд операций над выделенными блоками исходного кода. Наряду с автоматическим форматированием всего выделенного текста исходного кода, "Редактор кода" поддерживает операции сдвига выделенного блока исходного кода вправо или влево на шаг табуляции с помощью кнопок ("Уменьшить отступ") и
("Увеличить отступ") на панели инструментов. Это облегчает ручное форматирование больших фрагментов исходного кода.
Комментирование
"Редактор кода" содержит удобную возможность автоматической установки и снятия знаков комментирования для выделенных строк исходного кода путем нажатия кнопок ("Закомментировать") и
("Раскомментировать") на панели инструментов или выбора соответствующих пунктов в меню "Правка – Закомментировать" и "Правка – Раскомментировать". Такая возможность часто используется при отладке модулей.
Сворачивание
Сворачивание (или фолдинг) – одна из возможностей "Редактора кода". Данная возможность позволяет сворачивать определенные блоки редактируемого кода модуля в одну строку. В качестве таких блоков могут выступать любые логически цельные блоки исходного кода модуля, например, функции, циклы и т. п. К примеру, фолдинг функции приводит к сворачиванию всего исходного кода функции в одну строку таким образом, что остается видимым только название функции. Обычно, чтобы свернуть функцию нужно нажать на значок "-", расположенный слева от названия функции. Чтобы увидеть весь исходный код функции, т.е. развернуть функцию, нужно нажать на значок "+" появляющийся слева от свернутых функций.
Развернуть или свернуть все блоки кода можно с помощью кнопок на панели инструментов ("Свернуть все блоки кода") и
("Развернуть все блоки кода") или путем выбора пунктов контекстного меню "Блоки кода – Свернуть все блоки кода" и "Блоки кода – Развернуть все блоки кода".
Фолдинг удобно применять при редактировании больших модулей. Можно свернуть все блоки, кроме редактируемого, что позволяет быстрее перемещаться по коду исходного модуля и просматривать его.
Работа с закладками кода
Для того чтобы в процессе редактирования исходного кода можно было перемещаться по конкретным строкам модуля, предусмотрены закладки, с помощью которых можно отмечать необходимые строки в коде. Чтобы отметить нужную строку закладкой, следует нажать мышью на сером поле слева от необходимой строки или установить курсор на необходимую строку и нажать кнопку ("Установить закладку") на панели инструментов. В результате выполненного действия на сером поле справа от номера строки появится символ
("Закладка").
На панели инструментов (см. рис. Панель инструментов для работы в "Редакторе кода") расположена группа кнопок для работы с закладками. Закладки можно добавлять и удалять при помощи кнопок ("Установить/Удалить закладку") и
("Удалить все закладки"). Переход с одной закладки на другую осуществляется при помощи кнопок
("Предыдущая закладка"),
("Следующая закладка"), при этом переход происходит по закладкам всех открытых модулей конфигурации. При помощи кнопок
("Предыдущая закладка в текущем документе") и
("Следующая закладка в текущем документе ") можно перемещаться по закладкам только в текущем открытом модуле.
Быстрый переход по функциям и процедурам
В "Редакторе кода" имеется возможность быстрого перехода между методами, определенными в текущем модуле. На панели инструментов в поле выпадающего списка "Текущий метод" (см. рис. Панель инструментов для работы в "Редакторе кода") отображается название функции или процедуры, внутри которой в текущий момент установлен курсор в "Редакторе кода". Функции в списке помечаются розовым значком, а процедуры – зеленым значком. Из выпадающего списка "Текущий метод" можно выбрать функцию или процедуру, к которой необходимо быстро перейти. При этом курсор устанавливается в начало указанной функции. Пять последних функций, к которым был осуществлен переход, сохраняются в выпадающем списке "История", расположенном справа от выпадающего списка "Текущий метод".
Операции с выделенными значениями
При выделении в теле функции или процедуры какого-либо значения (например, названия переменной или метода), редактор кода автоматически подсвечивает желтым фоном все значения в теле функции, которые совпадают с выделенным. При этом можно перемещаться по подсвеченным значениям:
• |
Чтобы перейти к следующему подсвеченному значению необходимо нажать комбинацию клавиш: "Ctrl + Shift + Стрелка Вниз" – текстовый курсор перемещается на следующее подсвеченное значение; |
• |
Чтобы перейти к предыдущему подсвеченному значению необходимо нажать комбинацию клавиш: "Ctrl + Shift + Стрелка Вверх" – текстовый курсор перемещается на предыдущее подсвеченное значение. |
Чтобы переименовать все подсвеченные значения, можно вызвать контекстное меню на выделенном значении и выбрать в нем пункт "Переименовать" (подробнее о переименовании см. ниже).
Рис. Подсветка выделенного значения |
Переименование
В "Редакторе кода" имеется возможность переименования всех вхождений переменных или функций в текущем модуле. Для этого в контекстном меню необходимо выбрать пункт "Переименовать". При этом появится окно "Переименовать" (см. рис. Окно "Переименовать").
Рис. Окно "Переименовать" |
В окне "Переименовать" располагаются поля:
• |
Исходное значение – исходное наименование функции или переменной, которую необходимо переименовать. |
• |
Новое значение – новое наименование функции или переменной. |
Переименование осуществляется в зависимости от выбранного флажка:
• |
Только внутри текущей функции – переименование осуществляется только внутри текущей функции. |
• |
Заменять в строках – переименование осуществляется внутри текущей функции и в строковых значениях текущей функции. |
• |
Заменять в комментариях – переименование осуществляется внутри текущей функции и в комментариях текущей функции. |
Чтобы переименовать переменную или функцию, необходимо нажать кнопку . Для отмены действия нажимается кнопка
.
Контекстное меню
В "Редакторе кода" предусмотрено контекстное меню (рис. Контекстное меню).
Рис. Контекстное меню |
С помощью пунктов контекстного меню можно выполнить следующие действия:
• |
Отменить последнее совершенное действие (например, ввод символа); |
• |
Повторить отмененное действие; |
• |
Вырезать выделенный фрагмент кода в буфер обмена; |
• |
Копировать выделенный фрагмент кода в буфер обмена; |
• |
Вставить фрагмент кода из буфера обмена; |
• |
Закомментировать строку кода / раскомментировать строку кода; |
• |
Отформатировать текст исходного кода; |
• |
Свернуть все блоки кода; |
• |
Развернуть все блоки кода; |
• |
Выделить весь текст в окне "Редактор кода"; |
• |
Перейти к какой-либо функции; |
• |
Перейти к строке с заданным номером; |
• |
Перейти к определению функции или процедуры, описанному в глобальном модуле; |
• |
Перейти на одну из закладок; |
• |
Переименовать вхождения переменных или функций в текущем модуле. |
Контекстная справка
Чтобы получить контекстную подсказку по языку программирования L9, следует установить курсор на ключевое слово (см. подраздел "Ключевые слова") языка программирования L9 и нажать клавишу "F1". В результате откроется окно с разделом справки, содержащим описание ключевого слова. Если ключевое слово упоминается в нескольких разделах контекстной справки, то на экране откроется окно для выбора раздела справки с описанием выбранного элемента языка.
Синтаксическая проверка модуля
Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций языка L9. Для этого необходимо нажать кнопку ("Проверить модуль") на панели инструментов или выбрать пункты меню "Сборка – Проверить модуль". При этом происходит проверка исходного кода модуля в текущем открытом окне "Редактор кода". Кроме этого, "Конфигуратор" поддерживает выполнение полной синтаксической проверки всех модулей, содержащихся в конфигурации. Для этого следует выбрать пункты меню "Сборка – Собрать", или "Сборка – Собрать заново" (если сборка конфигурации уже производилась ранее). Подробную информацию о сборке и запуске конфигурации см. в подразделе "Сборка и запуск конфигурации".