FillIn テンプレート変数
FillIn は CodeExpander の「展開時フォーム」です。スニペットに FillIn 変数(例:%filltext%、%fillarea%)を入れると、展開時にポップアップが開き、埋めた内容で変数が置換されます。プロンプト、メールテンプレート、パラメータ付きコードブロック向きです。
1行 · 複数行 · ポップアップ · 任意 · 条件 · 日付 · 構文
A FillIn window appears before expansion. ⌘/Ctrl+Enter inserts.
1行フィールド
サポートテンプレートに顧客名が要る。展開で欄が 1 つ開く。「Lee」と一度打てば、その名前の空欄はすべて Lee になる。
%filltext%: one line. Same name is filled once. ⌘/Ctrl+Enter confirms.
エディタツールバー FillIn → 1行。フィールドに名前を付ける。同じ名前は一度だけ埋める。行を埋めたら ⌘/Ctrl+Enter。
Hello, %filltext&name=username&default=World&width=150%!複数行フィールド
返品メールに 3 行の理由が要る。展開で高めのボックスが出る。埋めると、段落が本文に入る。
%fillarea%: multiple lines. default may contain a literal %.
エディタ FillIn → 複数行。既定値にパーセント記号を含められます(6% VAT)。
%fillarea&name=description&default="Please describe"&width=300&rows=5%ポップアップメニュー
チケットテンプレートが High / Medium / Low だけを許す。展開でメニューが出る。1 つ選んで挿入。
%fillmenu%: predefined opt values. Optional checkbox.
エディタ FillIn → メニュー。選択肢は少なくとも 1 つ必要です。選択で段落全体が変わるなら 条件分岐 を使います。
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条件分岐
サポートは返金の文と交換の文の両方が要る。1 スニペットで Refund または Replacement を選び、その枝だけ送る。
%fillswitch% / %fillcase%: Branch i/n outputs only the current branch.
エディタ FillIn → 条件。フォームは 枝 を切り替えます。+ → テンプレート例 → Support replies の /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% — 1行テキスト
形式:
%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(1 つ以上)は必須。default、isCheck、info、width は任意。
6. %fillswitch% — 条件枝
FillIn ウィンドウで、コンパクトな 枝 i/n 操作で枝を選びます(他フィールドは現在の枝に合わせて表示 / 非表示)。その枝だけが挿入されます。 スニペットエディタでは 2 つのマーカーの間 に書きます。コードエディタは一度に 1 枝を表示し、先頭の操作で枝を切り替えます。%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%+ → テンプレート例 → Support replies の /cs スニペットが完全な例です。
7. %filldatepicker% — カレンダー選択
形式:%filldatepicker&name=id&format=ll&lang=en&width=160%
FillIn ウィンドウでカレンダーが開きます。%date% とは違います。%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%
}複数カーソル Tabstop(複数 %c%)
スニペット内で %c% を複数使えます。展開後、キャレットは最初の %c% に置かれます。設定 で構成した Tab(または tabstop ジャンプキー)を押すと、次のカーソル位置へ順にジャンプします。
例:
SELECT %c% FROM %c% WHERE %c%;展開後:
- キャレットは
SELECTのあと - Tab で
FROMのあとへ - Tab で
WHEREのあとへ
複数プレースホルダを順に埋めるコードテンプレート向きです。
%cv% の形式パラメータ
%cv% は任意パラメータを受け取り、挿入前にクリップボード内容を整形します。AI プロンプトテンプレートで特に便利です。
| パラメータ | 例 | 効果 |
|---|---|---|
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 が優先です。
AI プロンプトの例:
# 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) |