做代码演示时,有件事挺影响节奏:脑子里正在想下一句怎么讲,手上却漏了一个括号;刚解释完这段逻辑,又得停下来处理缩进。
如果代码本来就已经准备好了,现场的重点其实是把思路讲清楚,以及控制内容出现的顺序。
这次想介绍一个我做的 VS Code 扩展:KeyStage。提前把演示代码存成预设,现场在编辑器里按普通按键,就能逐步输入准备好的内容,按自己的讲解节奏展开。
项目地址:LaoQiTX / KeyStage
下载使用:GitHub Releases,目前发布的是 v1.2.1,提供可直接安装的 .vsix 扩展包。
提前准备内容,现场控制节奏
KeyStage 做的事情很直接:你准备好代码,它负责在演示时逐步写入。
开启某个预设后,按字母、数字、符号,或者 Enter、Tab,都会推进预设内容。实际输出的是提前保存的代码,所以可以边讲边按,不用同时盯着每个字符是否敲对。
比如,介绍一个函数时,可以先让函数定义出现,停下来讲参数,再继续展开内部逻辑。讲到关键判断时多停一会儿,简单的部分则快一些带过。
它适合录制教程、技术分享、产品讲解,以及有固定流程的现场代码演示。演示稿需要自己提前准备和验证,KeyStage 不会生成代码,也不会检查预设本身是否正确。
10 个预设,可以按讲解步骤拆开
KeyStage 支持 10 个独立预设,每个都能单独命名和保存多行内容。
我比较推荐把一场演示拆成几段:第一段搭起结构,第二段补核心逻辑,第三段加入异常处理,最后再放测试或调用示例。这样到了某个环节,直接启动对应预设就好。
按 Ctrl+Alt+R 可以打开预设管理窗口,选择槽位,填写名称和代码。窗口里也有字符与行数统计、复制到下一槽、清空等操作。
编辑完记得点击 “保存全部并关闭”。切换槽位时会保留尚未保存的草稿,但直接关掉窗口,会放弃这次修改。
预设按工作区独立保存。演示不同项目时,可以分别准备各自的内容,不用反复覆盖同一份演示稿。
可以在现有代码中继续演示
演示时经常已经有了一份项目骨架,只需要往某个函数里补几行。KeyStage 可以直接在当前文件的光标位置写入,也支持替换选区,不要求从一个空白文件开始。
比如,要在函数体内补充下面这段 Python:
1 | |
如果光标在行首,预设就需要包含第一行的四个前导空格;如果光标前已经有四个空格,预设第一行就不要再重复加,后续行仍然保留需要的缩进。
扩展会保留预设中的空格、缩进和换行,并适配目标文件的 LF / CRLF。连续空白会成组写入,所以一个按键有时会连带输出换行和缩进,不用为每个空格单独按一次。
这里仍需要自己准备好插入位置:它不会根据周围代码推断缩进,也不会自动修复 Python 语法。准备演示稿时,最好连同目标文件一起试一遍。
删除后,也能接着打回来
有时讲到一半,想删掉一段重新展示;或者为了说明某个变化,先把已有的几行去掉。
KeyStage 会在当前演示会话中按位置记录实际删除的文字。把光标放回删除位置,再按普通键,会优先逐步补回这段内容,补完之后再继续剩余的预设。
它记录的也可以是原来就有的代码,不限于刚刚输入的部分。退格、Delete、选区删除和跨行删除,都有相应的处理逻辑。
不过,这份重打记录只属于当前会话。结束演示、切换数字预设、重置进度或重新加载窗口后,会清除记录。它也不代替编辑器的撤销历史,复杂修改之后,可以整理好文件,再重新开始。
常用快捷键
| 快捷键 | 用途 |
|---|---|
Ctrl+Alt+R |
打开预设管理,并暂停演示 |
Ctrl+Alt+1~9 |
从头启动预设 1~9 |
Ctrl+Alt+0 |
从头启动预设 10 |
Ctrl+Alt+D |
暂停或继续当前预设 |
Ctrl+Alt+Home |
重置当前预设进度和删除记录 |
Esc |
结束接管,恢复正常编辑 |
macOS 对应使用 Cmd+Alt。如果和已有快捷键冲突,可以在编辑器的键盘快捷方式中搜索 KeyStage,自行调整。
这里有个区别:数字快捷键会从预设开头重新开始,暂停后继续则用 Ctrl+Alt+D。 切换文件也会暂停,回到原文件后再按需继续。
预设内容全部输出后,扩展会继续接管输入,避免多按的字符落进代码里。完成演示后,按 Esc 就能退出。
直接下载 VSIX 安装
不需要自己编译,也不需要配置模型或 API Key。
- 打开 KeyStage 最新 Release,在 Assets 中下载
.vsix文件。当前版本的文件名是keystage-1.2.1.vsix。 - 在 VS Code 打开扩展面板,点击右上角菜单,选择 “从 VSIX 安装……”,选中下载的文件。安装或升级后,按编辑器提示重新加载窗口。
- 按
Ctrl+Alt+R,在预设 1 中填写名称和准备好的代码,点击“保存全部并关闭”。 - 回到目标文件,放好光标,按
Ctrl+Alt+1启动,然后用普通按键推进内容。结束时按Esc。
Trae 等编辑器可以尝试通过各自的 VSIX 安装入口使用,但兼容情况取决于具体版本。目前项目说明中仍标注尚未完成 VS Code / Trae 的界面实机验证,不同编辑器中的快捷键和输入行为,需要实际确认。
演示前,简单准备一下
我建议先把完整流程跑一遍,尤其是插入位置、Python 缩进,以及是否有格式化或补全扩展改变内容。
当前版本只支持单光标,演示时建议使用英文输入法。方向键和其他 Ctrl / Alt 组合仍保留编辑器本来的功能,并不是所有物理按键都会推进代码。
扩展本身不联网、不采集遥测,预设保存在本地工作区的扩展存储中;演示过程中也不会额外弹出通知或完成窗口。它直接编辑的是当前文件,演示前保留一份干净的代码,结束后检查一下改动,会更方便重复录制。
写在最后
KeyStage 想解决的,是代码讲解里一个很小、但很容易打断思路的问题:一边讲,一边把准备好的内容准确地打出来。
我希望它能让演示者把注意力更多地放在“这一段为什么这么写”“这里应该停下来解释什么”上。内容提前准备,出现的节奏自己掌握,整个演示就能更从容一些。
如果你也有录教程、做技术分享或者项目讲解的需求,可以下载试试。项目使用 MIT 许可证开源,遇到问题或有功能建议,也欢迎到仓库提 Issue。
项目地址:LaoQiTX / KeyStage