Skip to Content
文件📖 參考與設定🧩 FillIn 變數

FillIn 範本變數

FillIn 是 CodeExpander 的「展開時彈窗填空」能力:在片段中插入 FillIn 變數(如 %filltext%、%fillarea%),觸發展開時先彈出表單填寫,再替換爲最終內容。適合提示詞、郵件範本、帶參數的程式碼塊。

單行 · 多行 · 下拉 · 可選 · 條件 · 日期 · 語法一覽

FillIn · /cs 客服话术
Enter / Tab 下一栏

展开含 FillIn 的片段时先弹出此窗。⌘/Ctrl+Enter 确认后才插入。


單行填空

客服範本裡要留客戶姓名:展開時彈出一行,填「李四」,正文裡所有同名空位一起換成李四。

FillIn · 单行
确认 ⌘↩

%filltext%:一行输入。同 name 只填一次。⌘/Ctrl+Enter 确认。

編輯器工具欄 FillIn → 單行。給這個空起個名字(比如「姓名」)。同名空位只填一次。展開後填那一行,⌘/Ctrl+Enter 確認。

Hello, %filltext&name=username&default=World&width=150%!

多行填空

退貨說明要寫三行原因:展開時出現一塊多行框,填完再插進郵件。

FillIn · 多行
确认 ⌘↩

%fillarea%:多行。default 可含字面 %。

編輯器 FillIn → 多行。預設值裡可以直接寫百分號(比如增值稅 6%)。

%fillarea&name=description&default="請輸入描述"&width=300&rows=5%

下拉菜單

工單範本裡優先級只能是高 / 中 / 低:展開時出現下拉,選一個再插入。

FillIn · 下拉
确认 ⌘↩

%fillmenu%:预定义 opt。可带复选。

編輯器 FillIn → 下拉。至少要有一個選項。選項特別多、還要整段話跟着變,用 條件分支。

優先級:%fillmenu&name=priority&default=中&opt=高&opt=中&opt=低&width=80%

可選與注釋

有的郵件只有加急時才加「請優先處理」:展開時勾一下,這段才進正文。不勾就當沒寫。

FillIn · 可选
注释:仅 FillIn 窗可见,不输出
确认 ⌘↩

%fillcheck% 勾选才输出;%fillnote% 只在窗里可见。

復選框 — 勾選才把預設文字插進去。注釋 只在填寫窗裡給自己看提醒,發出去的正文裡沒有。編輯器 FillIn → 可選 / 注釋。

%fillcheck&name=urgent&default=[緊急]&isCheck=0% 請處理此事項

條件分支

客服既要退款話術也要換貨話術:做成一條片段,展開時選「退款」或「換貨」,只發出當前這一段。

FillIn · 条件
确认 ⌘↩

%fillswitch% / %fillcase%:Branch i/n 只输出当前支。

編輯器 FillIn → 條件。填寫窗用 分支 切換。主視窗「+ → 範本示例 → 客服話術」裡的 /cs 是完整例子。

%fillswitch&name=場景% %fillcase&opt=退款% 退款已提交,訂單號 %filltext&name=訂單號&default=%。 %fillcase&opt=換貨% 請寄回倉庫,備注訂單號 %filltext&name=訂單號&default=%。 %fillend%

日期與時間

合同裡要寫截止日期:展開時彈出日歷,點一天即可。如果永遠是「今天」,用自動日期,不會再彈窗。

FillIn · 日期
确认 ⌘↩

%filldatepicker% 点选日历;%date% 不弹窗、按格式插今天。

點選日歷:

截止日期 %filldatepicker&name=due&format=LL&lang=zh-cn%

今天或往後幾天(不彈日歷):

今天是 %date&format=LL&lang=zh-cn% 明天是 %date&format=LL&lang=zh-cn&calc=1%

格式見下方 日期變數。


範本變數類型

1. %filltext% - 單行文字輸入

格式:

%filltext&name=變數名&default=預設值&width=寬度%

參數:

參數必填說明
name✅變數唯一標識
default❌預設值
width❌輸入框寬度 (px),預設 100
case❌大小寫轉換:camel/pascal/snake/kebab/upper/lower

示例:

Hello, %filltext&name=username&default=World&width=150%!

變數格式化示例:

// 輸入 "hello world" 後,輸出按 case 參數轉換: 小駝峯:%filltext&name=var&case=camel% → helloWorld 大駝峯:%filltext&name=var&case=pascal% → HelloWorld 蛇形: %filltext&name=var&case=snake% → hello_world 橫槓: %filltext&name=var&case=kebab% → hello-world 全大寫:%filltext&name=var&case=upper% → HELLO WORLD 全小寫:%filltext&name=var&case=lower% → hello world

2. %fillarea% - 多行文字輸入

格式:

%fillarea&name=變數名&default=預設值&width=寬度&rows=行數%

參數:name 必填;default、width、rows(預設 2)可選。

示例:

描述: %fillarea&name=description&default="請輸入描述"&width=300&rows=5%

default 裡可以直接寫百分號(如 含 6% 增值稅)。& 仍須寫成 %26;插入面板會自動編碼。也可以手寫 %25 表示 %。


3. %fillnote% - 注釋 (不輸出)

格式:%fillnote&name=變數名&default=注釋內容&width=寬度%
說明:注釋變數僅在編輯時顯示,最終輸出時會被移除。


4. %fillcheck% - 復選框

格式:

%fillcheck&name=變數名&default=選中時的值&isCheck=0或1&width=寬度%

示例:

%fillcheck&name=urgent&default=[緊急]&isCheck=0% 請處理此事項
  • 選中時:[緊急] 請處理此事項
  • 未選中時:請處理此事項

5. %fillmenu% - 下拉菜單

格式:

%fillmenu&name=變數名&default=預設選項&opt=選項1&opt=選項2&opt=選項3&isCheck=0或1&info=前綴文字&width=寬度%

參數:name、opt(可多個)必填;default、isCheck、info、width 可選。

示例:

優先級:%fillmenu&name=priority&default=中&opt=高&opt=中&opt=低&width=80%

6. %fillswitch% — 條件分支

展開時 FillIn 窗裡用 Branch i/n 下拉切換(和 TextExpander 一樣:當前分支的字段跟着顯隱),只插入選中段。編輯器裡是兩端標記,在中間像普通片段一樣打字;程式碼編輯器一次只顯示一支,用前指示器下拉切換分支。不要把 %fillcase 當成獨立變數。

%fillswitch&name=場景% %fillcase&opt=退款% 退款已提交,1~3 個工作日到賬。訂單號 %filltext&name=訂單號&default=%。 %fillcase&opt=換貨% 請寄回倉庫,備注訂單號 %filltext&name=訂單號&default=%。 %fillend%

主窗「+ → 範本示例 → 客服話術」裡的 /cs 是完整例子。


7. %filldatepicker% — 日歷點選

格式:%filldatepicker&name=變數名&format=ll&lang=zh-cn&width=160%

展開時在 FillIn 窗彈出日歷,由用戶點選。不是 %date%(%date% 總是插入今天,或今天加 calc/expr)。

參數:name 必填;format(dayjs 格式,預設 ll)、lang、width 可選。

截止日期 %filldatepicker&name=due&format=LL&lang=zh-cn%

日期變數 %date%

格式:

%date&format=格式&lang=語言&calc=偏移天數%

常用格式:

格式示例輸出
YYYY-MM-DD2025-12-31
YY-M-D25-12-31
HH:mm:ss14:30:00
L / LL / LLL / LLLL本地化日期時間

示例:

今天是 %date&format=LL&lang=zh-cn% 明天是 %date&format=LL&lang=zh-cn&calc=1% 下周四:%date&format=YYYY-MM-DD&lang=zh-cn&expr=next%20Thursday% 三個工作日後:%date&format=YYYY-MM-DD&lang=zh-cn&expr=%2B3bd%

expr 與 calc 不要同時用。expr 支持 today / tomorrow / yesterday / next Monday / last Friday / +3d / -2w / +1m(月) / +1h / +1min(分鍾,必須寫 min,+1m 是月) / +1s / +1y+1m / +3bd(工作日)。空格和 + 要寫成 %20、%2B。


鍵盤快速鍵 %clavier%

格式:%clavier&key=按鍵&modifier=修飾鍵%
預設:%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%;

展開後:

  1. 光標位於 SELECT 之後
  2. 按 Tab 跳轉到 FROM 之後
  3. 按 Tab 跳轉到 WHERE 之後

適合需要依次填寫多個佔位符的程式碼範本場景。


%cv% 格式化參數

%cv% 支持可選參數,將剪貼簿內容格式化後插入,特別適合 AI 提示詞場景:

參數示例語法效果
xml=TAG%cv&xml=error%包裹爲 <error>內容</error>
md=LANG%cv&md=python%包裹爲 Markdown 程式碼塊 ```python\n內容\n```
md=%cv&md=%包裹爲無語言標記程式碼塊 ```\n內容\n```
truncate=N%cv&truncate=2000%截斷到 N 個字符(超出部分加 ...)
trim=1%cv&trim=1%去除首尾空白

參數可組合使用,處理順序:trim → truncate → xml/md(先處理內容,再包裹格式)。xml 與 md 同時出現時,xml 優先。

AI 場景示例:

# 幫我偵錯這個錯誤(先複製報錯再觸發縮寫) 以下是錯誤信息: %cv&xml=error&truncate=3000% 請幫我找出根本原因。
# 程式碼審查(先複製程式碼再觸發縮寫) 請審查以下程式碼: %cv&md=python&trim=1&truncate=4000%

FillIn 視窗交互

觸發流程

用戶輸入縮寫 → 檢測到 FillIn 變數 → 彈出表單視窗 → 用戶填寫 → 替換變數 → 輸出結果

快速鍵

快速鍵作用
Cmd/Ctrl + Enter確認並插入
Enter / Tab跳轉下一個輸入框

支持的內容類型

類型說明
plain純文字
rich富文字 (HTML)
shellShell 腳本 (執行後輸出結果)
jsJavaScript (執行後輸出結果)
pythonPython (執行後輸出結果)
applescriptAppleScript (macOS)
powershellPowerShell (Windows)
最後更新於