Перейти к основному содержимому

Фрагменты

Фрагмент — это именованный набор шагов или скрипт, не привязанный ни к какому триггеру. Действия, скрипты «до» и «после», глобальные события и другие фрагменты выполняют его по имени. Напишите что-то один раз как фрагмент, и каждое вызывающее его действие использует одну и ту же копию: измените фрагмент, и изменятся все.

Input.ObserverПростойРасширенный
АВТОМАТИЗАЦИЯ
Действия
Подстановка текста
Фрагменты
Запись макросов
Песочница
Группы приложений
Группы игнорирования
Жесты
ДВИЖОК
Глобальные события
Зоны исключения
Скрипты
Плагины
НАСТРОЙКА
Общие
Оформление
Профили
Консоль
Безопасность
Справка
О программе
Ваши фрагменты
Center window
Используется: 2
Вставить как простой текст
+ Создать
Фрагменты
Center window
Center window
Окна
Только для отображения. Не влияет на выполнение фрагмента.
Скрипт
SnippetExecuteScript("Center window");
ШагиСкрипт
1Центрировать окноЦелевое окно
Вызывается из
Смахивание влево
Браузеры: скрипт «До»

Список фрагментов​

Список показывает все фрагменты библиотеки под заголовками категорий: категории по алфавиту, затем Без категории, а внутри каждой — по алфавиту имён. Фрагмент, который что-то вызывает, показывает Используется: и число вызывающих.

  • + Создать добавляет фрагмент Новый фрагмент в категорию выбранного фрагмента, в формате шагов.
  • Кнопка дублирования рядом с + Создать копирует выбранный фрагмент под новым уникальным именем.
  • Кнопка удаления в строке удаляет фрагмент (Удаление фрагмента).

Имя и категория​

  • Имя ① — то, по чему вызывающие находят фрагмент. Оно должно быть уникальным во всей библиотеке, независимо от категории, а два имени, различающиеся только регистром, считаются одинаковыми. Оно не может содержать двойную кавычку, обратную косую черту или управляющий символ. Имя, нарушающее правило, отображается красным с причиной и возвращается к прежнему, когда вы покидаете поле.
  • Переименование фрагмента переписывает все вызовы, указывающие его имя в кавычках, во всей конфигурации (Кто вызывает фрагмент).
  • Категория ② только группирует список. На выполнение фрагмента она не влияет.

Что делает фрагмент​

Формат выбирает Шаги или Скрипт, как и для действия (Шаги, скрипт и AutoHotkey). При переключении с шагов на скрипт предлагается перевести шаги, как на странице «Действия».

  • В режиме шагов редактор такой же, как у действия (Редактор шагов).
  • В режиме скрипта Проверить синтаксис проверяет скрипт собственным компилятором движка. Он сообщает Синтаксис в порядке с числом строк или первую ошибку и подчёркивает проблему в редакторе.
  • AutoHotkey предлагается только для фрагмента, который уже выполняется как AutoHotkey.
  • Кнопки для запуска фрагмента здесь нет. Чтобы безопасно опробовать шаги, используйте песочницу.
примечание

Расширенный режим. Над редактором отображается вызов, выполняющий этот фрагмент ③, в форме скрипта, с кнопкой его копирования.

Вызов фрагмента​

Фрагмент выполняется, когда шаг или скрипт вызывает встроенную функцию SnippetExecuteScript с его именем:

  • В шагах добавьте шаг Выполнить фрагмент (SnippetExecuteScript) из списка всех встроенных функций (Добавление шагов) и введите имя фрагмента в поле Имя.
  • В скрипте напишите вызов:
SnippetExecuteScript("Center window");

Как он выполняется:

  • Вызывающий ждёт, пока фрагмент завершится, затем продолжает.
  • Фрагмент видит то, что запустило вызывающего (его целевое окно, жест и т. д.), поэтому Целевое окно внутри фрагмента — это целевое окно вызывающего.
  • У фрагмента свои переменные. Он не может читать переменные вызывающего, а вызывающий — его.
  • Имя должно совпадать точно, включая регистр. Если фрагмента с таким именем нет, ничего не выполняется, и вызов даёт false.
  • Вызов даёт true, только если фрагмент выполнился до конца. Он также даёт false, если фрагмент пуст, содержит ошибку или остановлен.
  • Фрагмент может вызывать другие фрагменты. Ничто не мешает фрагменту вызвать сам себя, поэтому следите, чтобы такая цепочка заканчивалась.

Кто вызывает фрагмент​

Карточка Вызывается из ④ перечисляет все действия, скрипты «до» и «после», глобальные события (даже выключенные) и фрагменты, вызывающие этот фрагмент. Глобальное событие помечается Глобальное событие, а фрагмент — Фрагмент.

Находятся только вызовы, где имя фрагмента записано в кавычках. Вызов, который строит имя во время выполнения, не перечисляется, а вызов внутри комментария — перечисляется. Тела AutoHotkey не просматриваются.

Удаление фрагмента​

Удалить фрагмент нельзя, пока его вызывает что-либо из списка Вызывается из. Кнопка удаления тогда показывает Не удаётся удалить со списком вызывающих; сначала измените или удалите эти вызовы. Фрагмент, который ничто не вызывает, удаляется после подтверждения.

Вызов, который список не видит (имя, построенное во время выполнения скрипта), не защищён: если удалить такой фрагмент, вызов ничего не найдёт и даст false.

Фрагменты из других мест​

  • Создать фрагмент на странице Запись макросов превращает запись во фрагмент.
  • Сохранить как фрагмент на странице Песочница сохраняет шаги или скрипт, опробованные там.

Обе кнопки открывают новый фрагмент на этой странице с курсором в поле Имя, готовым к переименованию. К уже занятому имени добавляется -1, -2 и так далее.