Навигация и поиск в редакторе
Редактор языка Structured Text предоставляет набор инструментов для навигации по коду, поиска символов и анализа их использования. Инструменты работают на основе синтаксического разбора документа и учитывают контекст текущего проекта.
Поиск объявления символа
Позволяет быстро перейти к месту, где объявлена функция, функциональный блок, переменная или другой именованный объект.
Как использовать:
Установите курсор на имени символа в любом месте кода.
Нажмите
F2или выберите команду Перейти к объявлению в контекстном меню.
Что происходит:
Если объявление находится в текущем документе — курсор перемещается к нему, а редактор прокручивает документ так, чтобы строка оказалась по центру.
Если объявление находится в другом документе текущего контекста — редактор открывает этот документ и переходит к нужной строке.
Поиск выполняется в следующем порядке:
Локальные определения в текущей области видимости.
Глобальные определения в текущем документе.
Глобальные определения в других документах контекста (например, в подключённых библиотеках).
Поиск использований символа
Позволяет найти все места в проекте, где используется выбранный символ: вызовы функций, обращения к переменным, объявления экземпляров функциональных блоков и т.п.
Как использовать:
Установите курсор на имени символа.
Нажмите
F3или выберите команду Найти использование в контекстном меню.
Результат:
Открывается панель Результаты поиска, в которой совпадения сгруппированы по документам. Для каждого совпадения указываются номер строки и фрагмент кода.
Навигация по результатам:
Двойной клик по строке результата открывает документ и переходит к соответствующей позиции.
История поиска сохраняется: в панели доступен выпадающий список предыдущих поисков с возможностью вернуться к любому из них.
Первый пункт списка — Новый поиск. Он открывает форму параметров нового поиска.
Для выбранной сессии доступна команда Повторить поиск — она запускает тот же поиск заново с теми же параметрами, без открытия формы.
Область поиска:
Для глобальных символов (функции, функциональные блоки, типы) — все документы текущего контекста, включая подключённые библиотеки.
Для локальных переменных — только текущий документ.
Текстовый поиск по проекту
Позволяет искать произвольный текст — не только имена символов, но и любые фрагменты кода, комментарии, строковые литералы и т.п. Работает в тех же документах, что и поиск использований, но не привязан к синтаксическому разбору.
Как открыть форму поиска:
В панели Результаты поиска выберите пункт Новый поиск в выпадающем списке истории.
Или выполните команду Расширенный поиск в редакторе.
Параметры поиска:
Область поиска — определяет, где искать:
Текущий объект — только текущий документ;
Текущая программа — все документы текущего контекста (программы контроллера), включая подключённые библиотеки;
Весь проект — все документы проекта.
Учитывать регистр — различать заглавные и строчные буквы.
Только слова целиком — находить совпадение только как отдельное слово, а не как часть другого слова.
Регулярное выражение — трактовать строку поиска как регулярное выражение.
Флажки и область поиска сохраняются между сессиями: при следующем открытии формы они будут теми же, что и в прошлый раз.
Результат:
Совпадения группируются по документам. Для каждого совпадения указываются номер строки и полный текст строки, в которой найдено совпадение. При наведении курсора на строку результата показывается всплывающая подсказка с полным текстом строки.
Навигация по результатам:
Двойной клик по строке результата открывает документ и переходит к соответствующей строке.
Каждый новый поиск добавляется в историю и становится активной сессией.
Для активной сессии доступна команда Повторить поиск — она запускает тот же поиск заново с теми же параметрами. Повторный поиск использует актуальное состояние документов, поэтому учитывает все изменения, сделанные после первого поиска.
Замена:
Форма поиска позволяет выполнить замену всех найденных совпадений. Для этого:
В поле Замена введите текст, на который нужно заменить.
Нажмите Заменить все.
Замена применяется ко всем найденным совпадениям во всех документах выбранной области. После замены результаты поиска автоматически обновляются.
Все изменения, внесённые заменой в одном документе, оформляются как одна операция
отмены — их можно отменить одним нажатием Ctrl+Z. Если замена производилась в нескольких
документах, то отмену необходимо выполнять в каждом из них отдельно.
Панель объявлений
В верхней части редактора расположен выпадающий список, в котором перечислены все объявления верхнего уровня текущего документа: программы, функции, функциональные блоки, функции.
Как использовать:
Раскройте список, чтобы увидеть все объявления документа.
Выберите нужное объявление — редактор перейдёт к соответствующей строке.
При перемещении курсора по коду текущее объявление автоматически выделяется в списке.
Подсветка парных скобок
При установке курсора на открывающую или закрывающую скобку редактор подсвечивает обе скобки пары. Это помогает быстро определить границы выражений, списков аргументов и индексов массивов.
Поддерживаются круглые ( ) и квадратные [ ] скобки.
Скобки внутри строк и комментариев не учитываются.
Автодополнение
При вводе кода редактор предлагает варианты завершения:
имена символов из текущего файла и всего контекста;
ключевые слова языка;
встроенные функции и функциональные блоки.
Список предложений фильтруется по введённому префиксу.
Для вызова автодополнения вручную нажмите Ctrl+Space.
Сворачивание блоков
Редактор позволяет сворачивать многострочные конструкции (тела программ, функций, функциональных блоков, условные операторы, циклы), чтобы сосредоточиться на нужной части кода.
Горячие клавиши:
Ctrl+-— свернуть текущий блок.Ctrl++— развернуть текущий блок.
Комментирование
Быстрое добавление и удаление комментариев для выделенного фрагмента
кода. Поддерживаются как однострочные комментарии //, так и
многострочные (* ... *).
Автоотступы
При нажатии Enter редактор автоматически выравнивает новую строку
в соответствии с синтаксической структурой кода. Для выделенного
фрагмента можно применить автоформатирование отступов вручную
через команду Сделать автоотступ.
Навигация по коду
- Помимо поиска объявлений и использований, редактор поддерживает механизм История навигации — возврат к предыдущим позициям курсора
(например, после перехода к объявлению можно вернуться обратно).
Контекстная справка
Для встроенных типов данных, операторов и стандартных функций доступна контекстная справка. Установите курсор на интересующем элементе и вызовите справку — откроется соответствующая страница документации.