FillIn 模板变量
FillIn 是 CodeExpander 的「展开时弹窗填空」能力:在片段中插入 FillIn 变量(如 %filltext%、%fillarea%),触发展开时先弹出表单填写,再替换为最终内容。适合提示词、邮件模板、带参数的代码块。
模板变量类型
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 world2. %fillarea% - 多行文本输入
格式:
%fillarea&name=变量名&default=默认值&width=宽度&rows=行数%参数:name 必填;default、width、rows(默认 2)可选。
示例:
描述:
%fillarea&name=description&default="请输入描述"&width=300&rows=5%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%日期变量 %date%
格式:
%date&format=格式&lang=语言&calc=偏移天数%常用格式:
| 格式 | 示例输出 |
|---|---|
YYYY-MM-DD | 2025-12-31 |
YY-M-D | 25-12-31 |
HH:mm:ss | 14:30:00 |
L / LL / LLL / LLLL | 本地化日期时间 |
示例:
今天是 %date&format=LL&lang=zh-cn%
明天是 %date&format=LL&lang=zh-cn&calc=1%键盘快捷键 %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%;展开后:
- 光标位于
SELECT之后 - 按 Tab 跳转到
FROM之后 - 按 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) |
shell | Shell 脚本 (执行后输出结果) |
js | JavaScript (执行后输出结果) |
python | Python (执行后输出结果) |
applescript | AppleScript (macOS) |
powershell | PowerShell (Windows) |