Переменные шаблонов FillIn
FillIn — форма при раскрытии в CodeExpander: вставьте переменные FillIn во фрагмент (например %filltext%, %fillarea%); при раскрытии открывается окно, вы заполняете, затем переменные заменяются. Удобно для промптов, шаблонов писем, параметризованных блоков кода.
Однострочное · Многострочное · Всплывающее меню · Необязательные · Условия · Даты · Синтаксис
A FillIn window appears before expansion. ⌘/Ctrl+Enter inserts.
Однострочное поле
Шаблону поддержки нужно имя клиента. Раскрытие открывает одно поле. Наберите «Lee» один раз; все пустые места с этим именем станут Lee.
%filltext%: one line. Same name is filled once. ⌘/Ctrl+Enter confirms.
Панель редактора FillIn → Однострочное. Дайте полю имя. Одно имя заполняется один раз. Заполните строку, затем ⌘/Ctrl+Enter.
Hello, %filltext&name=username&default=World&width=150%!Многострочное поле
Письму о возврате нужны три строки причины. Раскрытие показывает более высокое поле. Заполните — абзац попадёт в сообщение.
%fillarea%: multiple lines. default may contain a literal %.
Редактор FillIn → Многострочное. Значение по умолчанию может содержать знак процента (НДС 6%).
%fillarea&name=description&default="Please describe"&width=300&rows=5%Всплывающее меню
Шаблон тикета допускает только High / Medium / Low. Раскрытие показывает меню. Выберите одно, затем вставка.
%fillmenu%: predefined opt values. Optional checkbox.
Редактор FillIn → Меню. Нужна хотя бы одна опция. Для целого абзаца, который меняется с выбором, используйте условия.
Priority: %fillmenu&name=priority&default=Medium&opt=High&opt=Medium&opt=Low&width=80%Необязательные поля и заметки
Некоторые письма добавляют «пожалуйста, приоритет» только когда срочно. Отметьте чекбокс — фраза вставится; оставьте неотмеченным — её не будет.
%fillcheck% outputs only if checked; %fillnote% is editor-only.
Чекбокс вставляет текст по умолчанию только когда отмечен. Заметки видны только в форме и никогда не попадают в отправляемое тело. Редактор FillIn → Необязательное / Заметка.
%fillcheck&name=urgent&default=[Urgent]&isCheck=0% Please handle thisУсловные блоки
Поддержке нужна и строка возврата, и строка замены. Один фрагмент: выберите Refund или Replacement — уйдёт только эта ветка.
%fillswitch% / %fillcase%: Branch i/n outputs only the current branch.
Редактор FillIn → Условие. Форма переключает ветки. Фрагмент /cs в + → примеры шаблонов → Ответы поддержки — полный пример.
%fillswitch&name=case%
%fillcase&opt=Refund%
Refund is in. Order %filltext&name=order&default=%.
%fillcase&opt=Replacement%
Ship it back with order %filltext&name=order&default=% on the note.
%fillend%Дата и время
Договору нужна дата сдачи. Раскрытие открывает календарь. Если всегда «сегодня» — используйте автоматическую дату, без всплывающего окна.
%filldatepicker% opens a calendar; %date% inserts today with no popup.
Выбрать день:
Due %filldatepicker&name=due&format=LL%Сегодня или через несколько дней (без календаря):
Today is %date&format=LL%
Tomorrow is %date&format=LL&calc=1%Форматы: Дата %date%.
Типы переменных
1. %filltext% — однострочный текст
Формат:
%filltext&name=id&default=value&width=px%Параметры: name обязателен; default, width (по умолчанию 100), case опциональны.
Пример:
Hello, %filltext&name=username&default=World&width=150%!Форматирование регистра переменной:
// After typing "hello world", output is converted according to case parameter:
camel: %filltext&name=var&case=camel% → helloWorld
pascal: %filltext&name=var&case=pascal% → HelloWorld
snake: %filltext&name=var&case=snake% → hello_world
kebab: %filltext&name=var&case=kebab% → hello-world
upper: %filltext&name=var&case=upper% → HELLO WORLD
lower: %filltext&name=var&case=lower% → hello world2. %fillarea% — многострочный текст
Формат: %fillarea&name=id&default=...&width=...&rows=N%
Параметры: name обязателен; default, width, rows (по умолчанию 2) опциональны.
default может содержать литеральный % (например Includes 6% VAT). & по-прежнему нужен как %26. Панель вставки кодирует за вас; можно также писать %25 для %.
3. %fillnote% — комментарий (без вывода)
Формат: %fillnote&name=id&default=comment&width=...%
Показывается только в редакторе; из вывода удаляется.
4. %fillcheck% — чекбокс
Формат: %fillcheck&name=id&default=value when checked&isCheck=0|1&width=...%
Пример: при отметке вставляется default; без отметки — ничего (или пусто).
5. %fillmenu% — выпадающий список
Формат: %fillmenu&name=id&default=option&opt=Option1&opt=Option2&...%
Параметры: name, opt (один или больше) обязательны; default, isCheck, info, width опциональны.
6. %fillswitch% — условная ветка
Выберите ветку в окне FillIn компактным управлением Ветка i/n (остальные поля показываются или скрываются с текущей веткой). Вставляется только эта ветка. В редакторе фрагмента вы пишете между двумя маркерами; редактор кода показывает одну ветку за раз, ведущее управление переключает ветки. %fillcase — не отдельное поле.
%fillswitch&name=case%
%fillcase&opt=Refund%
Refund is in. Order %filltext&name=order&default=%.
%fillcase&opt=Replacement%
Ship it back with order %filltext&name=order&default=% on the note.
%fillend%Фрагмент /cs в + → примеры шаблонов → Ответы поддержки — полный пример.
7. %filldatepicker% — выбор в календаре
Формат: %filldatepicker&name=id&format=ll&lang=en&width=160%
Открывает календарь в окне FillIn. Не то же, что %date%, который всегда вставляет сегодня (или сегодня плюс calc/expr).
Параметры: name обязателен; format (токены dayjs, по умолчанию ll), lang, width опциональны.
Due %filldatepicker&name=due&format=LL%Дата %date%
Формат: %date&format=...&lang=...&calc=days offset%
Частые форматы: YYYY-MM-DD, YY-M-D, HH:mm:ss, L / LL / LLL / LLLL (локализованные).
expr — альтернатива calc (не используйте оба): today, tomorrow, next Monday, last Friday, +3d, -2w, +1m (месяцы), +1h, +1min (минуты; min раньше m), +1s, +1y+1m, +3bd (рабочие дни). Пробел кодируйте как %20, + как %2B.
Клавиатура %clavier%
Формат: %clavier&key=key&modifier=mod%
Пресеты: %clavier&key=Enter%, %clavier&key=Escape%, %clavier&key=Tab%
Свой: %clavier&key=V&modifier=command% (Cmd+V)
Функциональные переменные
| Переменная | Описание |
|---|---|
%c% | Позиция курсора — каретка остаётся здесь после раскрытия. Несколько %c% для прыжков по курсорам (tabstop) |
%cv% | Содержимое буфера — вставить текущий текст буфера (параметры формата ниже) |
%s:abbr% | Вложенный фрагмент — вставить содержимое фрагмента с этой аббревиатурой |
Пример:
function %filltext&name=funcName&default=myFunction%() {
%c%
}Прыжки по нескольким курсорам (несколько %c%)
Во фрагменте можно использовать несколько %c%. После раскрытия каретка ставится на первый %c%; нажмите Tab (или клавишу прыжка tabstop из Настроек), чтобы перейти к следующей позиции курсора по порядку.
Пример:
SELECT %c% FROM %c% WHERE %c%;После раскрытия:
- Каретка после
SELECT - Tab — прыжок после
FROM - Tab — прыжок после
WHERE
Удобно для шаблонов кода, где несколько плейсхолдеров заполняются по порядку.
Параметры формата %cv%
%cv% принимает опциональные параметры, чтобы отформатировать содержимое буфера перед вставкой — особенно полезно в шаблонах ИИ-промптов:
| Параметр | Пример | Эффект |
|---|---|---|
xml=TAG | %cv&xml=error% | Обёртка <error>content</error> |
md=LANG | %cv&md=python% | Обёртка блоком Markdown ```python\ncontent\n``` |
md= | %cv&md=% | Обёртка блоком кода без тега языка |
truncate=N | %cv&truncate=2000% | Обрезка до N символов (добавляет ... при обрезании) |
trim=1 | %cv&trim=1% | Снимает пробелы в начале/конце |
Параметры можно комбинировать. Порядок обработки: trim → truncate → xml/md. Если есть и xml, и md, приоритет у xml.
Примеры ИИ-промптов:
# Debug this error (copy the error first, then trigger the abbreviation)
Here is the error:
%cv&xml=error&truncate=3000%
Please help me find the root cause.# Code review (copy the code first, then trigger the abbreviation)
Please review this code:
%cv&md=python&trim=1&truncate=4000%Окно FillIn
Поток
User types abbreviation → FillIn detected → Form opens → User fills → Variables replaced → OutputСочетания
| Сочетание | Действие |
|---|---|
Cmd/Ctrl + Enter | Подтвердить и вставить |
Enter / Tab | Следующее поле |
Типы содержимого
| Тип | Описание |
|---|---|
plain | Простой текст |
rich | Богатый текст (HTML) |
shell | Shell (запустить и вывести) |
js | JavaScript (запустить и вывести) |
python | Python (запустить и вывести) |
applescript | AppleScript (macOS) |
powershell | PowerShell (Windows) |