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 必填;defaultwidthrows(默认 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=宽度%

参数nameopt(可多个)必填;defaultisCheckinfowidth 可选。

示例

优先级:%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)、langwidth 可选。

截止日期 %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%

exprcalc 不要同时用。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(先处理内容,再包裹格式)。xmlmd 同时出现时,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)
最后更新于