VHS:用代码生成终端GIF进行集成测试和演示

VHS是一款可以通过代码生成终端GIF的工具,适用于集成测试和CLI工具演示,简化了创建动态演示的流程。
直达下载
回到上一页
clickgpt_line.png_noView
介绍

你是否遇到过需要为你的CLI工具进行演示或者集成测试的情况?VHS正是为此而生的一款工具,它能够通过编写代码生成终端GIF,让你的演示更加生动形象。

github_practical_vhs_1

github_practical_vhs_2

开始使用

首先,安装VHS,然后创建一个新的 .tape 文件。

    
vhs new demo.tape

用你喜欢的编辑器打开这个 .tape 文件。

    
vim demo.tape

Tape文件由一系列命令组成,这些命令是VHS在虚拟终端上执行的指令。所有可能的命令可以在命令参考中查看。

    
# 输出GIF的路径
Output demo.gif

# 设置一个1200x600的终端,字体大小为46px
Set FontSize 46
Set Width 1200
Set Height 600

# 在终端中输入命令
Type "echo 'Welcome to VHS!'"

# 暂停一会儿,增加戏剧效果
Sleep 500ms

# 按回车运行命令
Enter

# 让输出展示一会儿
Sleep 5s

完成后,保存文件并将其交给VHS处理。

    
vhs demo.tape

搞定!你应该能在目录中看到一个名为demo.gif的新文件(或者你在Output命令中指定的文件名)。

github_practical_vhs_3

设置

Set命令允许你更改终端的全局设置,比如字体设置、窗口尺寸和GIF输出位置。

设置必须在tape文件的顶部进行。任何在非设置或非输出命令后应用的设置(除了TypingSpeed)将被忽略。

设置Shell

Set Shell <shell>命令设置shell

    
Set Shell fish

设置字体大小

Set FontSize <number>命令设置字体大小。

    
Set FontSize 10
Set FontSize 20
Set FontSize 40

设置字体

Set FontFamily "<font>"命令设置字体

    
Set FontFamily "Monoflow"

设置宽度

Set Width命令设置终端宽度。

    
Set Width 300

设置高度

Set Height命令设置终端高度。

    
Set Height 1000

设置字母间距

Set LetterSpacing命令设置字母间距。

    
Set LetterSpacing 20

设置行高

Set LineHeight命令设置行高。

    
Set LineHeight 1.8

设置打字速度

    
Set TypingSpeed 500ms # 500ms
Set TypingSpeed 1s    # 1s

设置每次按键之间的打字速度(秒)。例如,0.1的打字速度将导致每个字符之间有0.1秒(100毫秒)的延迟。

这个设置也可以用@<time>语法覆盖每个命令。

    
Set TypingSpeed 0.1
Type "100ms delay per character"
Type@500ms "500ms delay per character"

设置主题

Set Theme命令设置终端的主题。主题值应该是一个包含基础16种颜色和前景+背景的JSON字符串。

    
Set Theme { "name": "Whimsy", "black": "#535178", "red": "#ef6487", "green": "#5eca89", "yellow": "#fdd877", "blue": "#65aef7", "magenta": "#aa7ff0", "cyan": "#43c1be", "white": "#ffffff", "brightBlack": "#535178", "brightRed": "#ef6487", "brightGreen": "#5eca89", "brightYellow": "#fdd877", "brightBlue": "#65aef7", "brightMagenta": "#aa7ff0", "brightCyan": "#43c1be", "brightWhite": "#ffffff", "background": "#29283b", "foreground": "#b3b0d6", "selection": "#3d3c58", "cursor": "#b3b0d6" }

你也可以按名称设置主题:

    
Set Theme "Catppuccin Frappe"

通过运行vhs themes获取完整列表。

设置内边距

Set Padding命令设置终端框架的内边距(像素)。

    
Set Padding 0

设置外边距

Set Margin命令设置视频的外边距(像素)。

    
Set Margin 60
Set MarginFill "#6B50FF"

设置窗口栏

Set WindowBar命令设置终端窗口栏的类型(Colorful, ColorfulRight, Rings, RingsRight)。

    
Set WindowBar Colorful

用VHS生成终端GIF不仅能够直观地展示CLI工具的功能,还可以在集成测试中发挥重要作用。试试这个工具,让你的终端演示更上一层楼吧!

最后嘛,我感觉VHS真的是个挺好用的工具,尤其是对那些需要经常演示和测试CLI工具的开发者来说,简直就是福音。如果你也有类似的需求,不妨试试看!

编程学习
编程学习 免费领取编程学习资料 进编程学习交流群
订阅号
视频号
公众号 关注公众号,回复关键字java领取大厂最新面试题
×
编程学习
免费领取编程学习资料 进编程学习交流群