Редактор кода

<< Click to Display Table of Contents >>

Navigation:  Раздел 3 Пользовательский интерфейс ''Конфигуратора'' >

Редактор кода

Редактирование исходных кодов программных модулей производится в "Редакторе кода". "Редактор кода" доступен в следующих окнах "Конфигуратора":

В окне "Редактор диалогов" (см. подраздел "Редактор диалогов") при выборе закладки "Модуль" в правой нижней части окна (рис. "Окно "Редактор кода""). Закладка "Модуль" открывается автоматически при двойном нажатии на событии элемента формы в дереве элементов формы.

В окне редактирования глобального модуля "Main" (открывается при двойном щелчке на "Main" в ветви дерева конфигурации "Глобальные модули");

При двойном нажатии на каком-либо событии в модуле создается пустая функция-обработчик этого события (если функция не была создана ранее). Курсор при этом помещается в начало первой строки данной функции.

 

_img86

Рис. Окно "Редактор кода"

 

Автодополнение

В "Редакторе кода" реализована функция автодополнения при печати текста исходного кода в окне "Редактор кода". Т.е. при наборе одной и более букв, появляется всплывающий список с перечнем ключевых слов, переменных, процедур и функций, начинающихся с введенных букв (рис. "Всплывающий список автодополнения в "Редакторе кода""). Функции в списке помечаются розовым значком, процедуры – зеленым значком, переменные – синим значком, а ключевые слова L9 – красным цветом шрифта. При выделении строки с названием предопределенной процедуры или функции справа от списка появляется всплывающая подсказка с кратким описанием выбранной процедуры или функции. При вводе названия глобального модуля (например, "глоб") и символа "." (точка) во всплывающем списке показываются процедуры, функции и переменные, описанные в глобальном модуле и помеченные как эспортируемые (см. подраздел "Глобальный модуль"). При вводе в "Редакторе кода" какой-либо формы ключевого слова "ЭтаФорма" и символа "." (точка) во всплывающем списке показываются все методы и свойства формы, а также элементы формы, размещенные на данной форме (см. подраздел "Элементы формы").

 

clip0021

Рис. Всплывающий список автодополнения в "Редакторе кода"

 

Для вывода в редактор кода значения из всплывающего списка, необходимо выбрать нужное значение и нажать кнопку "Enter".

В "Редакторе кода" имеется возможность автоматического создания пустой конструкции нужного оператора, функции или процедуры.

При вводе в "Редакторе кода" первых символов оператора, функции или процедуры и нажатии кнопки "Tab" в модуле создается соответствующая пустая конструкция.

 

Работа со словарем

В "Редакторе кода" имеется возможность вставить в исходный код фразу из словаря. Для этого необходимо ввести ключевое слово "dict" (или "слов") и нажать пробел. При этом появится окно "Редактор словаря" (см. подраздел "Редактор словаря"), из которого необходимо выбрать фразу, которая будет вставлена в исходный код.

 

Подсветка синтаксиса

Для удобства редактирования кода модуля в "Редакторе кода" выделяется цветом шрифт элементов встроенного языка:

Ключевые слова, операторы – красным цветом;

Константы – черным цветом;

Значения "Неопределено" ("Undefined"), "Истина" ("True"), "Ложь" ("False") – розовым цветом;

Переменные – синим цветом;

Комментарии – зеленым цветом.

Текущая строка в модуле, на которой установлен курсор, подсвечивается зеленым цветом фона.

 

Панель инструментов

При работе в "Редакторе кода" доступна панель инструментов (см. рис. Панель инструментов для работы в "Редакторе кода") для выполнения различных операций с исходным кодом модуля.

 

_img87

Рис. Панель инструментов для работы в "Редакторе кода"

 

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

 

Таблица. Назначение кнопок панели инструментов "Редактора кода"

Кнопка

Назначение

_img88

Уменьшить отступ строки ("Shift + Tab").

_img89

Увеличить отступ строки ("Tab").

_img90

Закомментировать ("Ctrl + /").

_img91

Раскомментировать ("Ctrl + Shift + /").

_img92

Свернуть все блоки кода ("Ctrl + Shift + +").

_img93

Развернуть все блоки кода ("Ctrl + Shift + –").

_img94

Установить/удалить закладку ("Alt + F2").

_img95

Предыдущая закладка ("Alt + P").

_img96

Следующая закладка ("Alt + N").

_img97

Предыдущая закладка в текущем документе ("Shift + F2").

_img98

Следующая закладка в текущем документе ("F2").

_img99

Удалить все закладки.

 

Автоматическое форматирование

Для удобства чтения исходного кода в "Редакторе кода" возможно автоматическое форматирование исходного кода с помощью "горячих" клавиш "Alt+Shift+F". При нажатии комбинации клавиш в исходном коде текущего модуля автоматически устанавливаются шаги табуляции.

 

Форматирование

"Редактор кода" позволяет выполнять ряд операций над выделенными блоками исходного кода. Наряду с автоматическим форматированием всего выделенного текста исходного кода, "Редактор кода" поддерживает операции сдвига выделенного блока исходного кода вправо или влево на шаг табуляции с помощью кнопок _img88 ("Уменьшить отступ") и _img89 ("Увеличить отступ") на панели инструментов. Это облегчает ручное форматирование больших фрагментов исходного кода.

 

Комментирование

"Редактор кода" содержит удобную возможность автоматической установки и снятия знаков комментирования для выделенных строк исходного кода путем нажатия кнопок _img90 ("Закомментировать") и _img91 ("Раскомментировать") на панели инструментов или выбора соответствующих пунктов в меню "Правка – Закомментировать" и "Правка – Раскомментировать". Такая возможность часто используется при отладке модулей.

 

Сворачивание

Сворачивание (или фолдинг) – одна из возможностей "Редактора кода". Данная возможность позволяет сворачивать определенные блоки редактируемого кода модуля в одну строку. В качестве таких блоков могут выступать любые логически цельные блоки исходного кода модуля, например, функции, циклы и т. п. К примеру, фолдинг функции приводит к сворачиванию всего исходного кода функции в одну строку таким образом, что остается видимым только название функции. Обычно, чтобы свернуть функцию нужно нажать на значок "-", расположенный слева от названия функции. Чтобы увидеть весь исходный код функции, т.е. развернуть функцию, нужно нажать на значок "+" появляющийся слева от свернутых функций.

Развернуть или свернуть все блоки кода можно с помощью кнопок на панели инструментов _img92 ("Свернуть все блоки кода") и _img93 ("Развернуть все блоки кода") или путем выбора пунктов контекстного меню "Блоки кода – Свернуть все блоки кода" и "Блоки кода – Развернуть все блоки кода".

Фолдинг удобно применять при редактировании больших модулей. Можно свернуть все блоки, кроме редактируемого, что позволяет быстрее перемещаться по коду исходного модуля и просматривать его.

 

Работа с закладками кода

Для того чтобы в процессе редактирования исходного кода можно было перемещаться по конкретным строкам модуля, предусмотрены закладки, с помощью которых можно отмечать необходимые строки в коде. Чтобы отметить нужную строку закладкой, следует нажать мышью на сером поле слева от необходимой строки или установить курсор на необходимую строку и нажать кнопку _img94 ("Установить закладку") на панели инструментов. В результате выполненного действия на сером поле справа от номера строки появится символ _img102 ("Закладка").

На панели инструментов (см. рис. Панель инструментов для работы в "Редакторе кода") расположена группа кнопок для работы с закладками. Закладки можно добавлять и удалять при помощи кнопок _img94 ("Установить/Удалить закладку") и _img99 ("Удалить все закладки"). Переход с одной закладки на другую осуществляется при помощи кнопок _img95 ("Предыдущая закладка"), _img96 ("Следующая закладка"), при этом переход происходит по закладкам всех открытых модулей конфигурации. При помощи кнопок _img97 ("Предыдущая закладка в текущем документе") и _img98 ("Следующая закладка в текущем документе ") можно перемещаться по закладкам только в текущем открытом модуле.

 

Быстрый переход по функциям и процедурам

В "Редакторе кода" имеется возможность быстрого перехода между методами, определенными в текущем модуле. На панели инструментов в поле выпадающего списка "Текущий метод" (см. рис. Панель инструментов для работы в "Редакторе кода") отображается название функции или процедуры, внутри которой в текущий момент установлен курсор в "Редакторе кода". Функции в списке помечаются розовым значком, а процедуры – зеленым значком. Из выпадающего списка "Текущий метод" можно выбрать функцию или процедуру, к которой необходимо быстро перейти. При этом курсор устанавливается в начало указанной функции. Пять последних функций, к которым был осуществлен переход, сохраняются в выпадающем списке "История", расположенном справа от выпадающего списка "Текущий метод".

 

Операции с выделенными значениями

При выделении в теле функции или процедуры какого-либо значения (например, названия переменной или метода), редактор кода автоматически подсвечивает желтым фоном все значения в теле функции, которые совпадают с выделенным. При этом можно перемещаться по подсвеченным значениям:

Чтобы перейти к следующему подсвеченному значению необходимо нажать комбинацию клавиш: "Ctrl + Shift + Стрелка Вниз" – текстовый курсор перемещается на следующее подсвеченное значение;

Чтобы перейти к предыдущему подсвеченному значению необходимо нажать комбинацию клавиш: "Ctrl + Shift + Стрелка Вверх" – текстовый курсор перемещается на предыдущее подсвеченное значение.

Чтобы переименовать все подсвеченные значения, можно вызвать контекстное меню на выделенном значении и выбрать в нем пункт "Переименовать" (подробнее о переименовании см. ниже).

 

clip0005

Рис. Подсветка выделенного значения

 

Переименование

В "Редакторе кода" имеется возможность переименования всех вхождений переменных или функций в текущем модуле. Для этого в контекстном меню необходимо выбрать пункт "Переименовать". При этом появится окно "Переименовать" (см. рис. Окно "Переименовать").

 

clip0055

Рис. Окно "Переименовать"

 

 

В окне "Переименовать" располагаются поля:

Исходное значение – исходное наименование функции или переменной, которую необходимо переименовать.

Новое значение новое наименование функции или переменной.

Переименование осуществляется в зависимости от выбранного флажка:

Только внутри текущей функции – переименование осуществляется только внутри текущей функции.

Заменять в строках – переименование осуществляется внутри текущей функции и в строковых значениях текущей функции.

Заменять в комментариях – переименование осуществляется внутри текущей функции и в комментариях текущей функции.

Чтобы переименовать переменную или функцию, необходимо нажать кнопку clip0057. Для отмены действия нажимается кнопка clip0058.

 

Контекстное меню

В "Редакторе кода" предусмотрено контекстное меню (рис. Контекстное меню).

 

clip0136

Рис. Контекстное меню

 

С помощью пунктов контекстного меню можно выполнить следующие действия:

Отменить последнее совершенное действие (например, ввод символа);

Повторить отмененное действие;

Вырезать выделенный фрагмент кода в буфер обмена;

Копировать выделенный фрагмент кода в буфер обмена;

Вставить фрагмент кода из буфера обмена;

Закомментировать строку кода / раскомментировать строку кода;

Отформатировать текст исходного кода;

Свернуть все блоки кода;

Развернуть все блоки кода;

Выделить весь текст в окне "Редактор кода";

Перейти к какой-либо функции;

Перейти к строке с заданным номером;

Перейти к определению функции или процедуры, описанному в глобальном модуле;

Перейти на одну из закладок;

Переименовать вхождения переменных или функций в текущем модуле.

 

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

Чтобы получить контекстную подсказку по языку программирования L9, следует установить курсор на ключевое слово (см. подраздел "Ключевые слова") языка программирования L9 и нажать клавишу "F1". В результате откроется окно с разделом справки, содержащим описание ключевого слова. Если ключевое слово упоминается в нескольких разделах контекстной справки, то на экране откроется окно для выбора раздела справки с описанием выбранного элемента языка.

 

Синтаксическая проверка модуля

Редактируемый модуль может быть проверен на правильность использования синтаксических конструкций языка L9. Для этого необходимо нажать кнопку _img100 ("Проверить модуль") на панели инструментов или выбрать пункты меню "Сборка – Проверить модуль". При этом происходит проверка исходного кода модуля в текущем открытом окне "Редактор кода". Кроме этого, "Конфигуратор" поддерживает выполнение полной синтаксической проверки всех модулей, содержащихся в конфигурации. Для этого следует выбрать пункты меню "Сборка – Собрать", или "Сборка – Собрать заново" (если сборка конфигурации уже производилась ранее). Подробную информацию о сборке и запуске конфигурации см. в подразделе "Сборка и запуск конфигурации".