# 可视化工具
XState Visualizer (opens new window) 是一种通过可视化你的应用状态的方式,用于创建和检查状态图的工具。
作为一种可视化工具,Visualizer 可帮助开发人员了解他们的应用程序逻辑,并使其易于与设计人员、项目经理和团队其他成员共享。
- 编写 你的应用程序逻辑,并立即将其可视化。
- 保存 你的状态图到 Stately Registry 并与任何人分享。
- 分享 你的状态图,可以嵌入到你的团队文档中使用,并能保证实时更新状态图。
Visualizer 已经有许多功能可以帮助你,使代码做得更多。
# 编写和可视化你的代码
立即 编写和可视化你的代码
- 使用 Code 选项卡中的代码编辑器编写状态机代码。
- 按 Visualize 可视化你的状态机。
# 分享你的状态机
你可以通过多种方式与团队和网络共享你的状态机。
共享菜单包含四个选项:
- Copy link。 复制状态机的 Visualizer 链接。
- Twitter。 写一条带有状态机链接的 Twitter。
- Copy Image URL。 复制状态机快照图像的链接。
- Embed。 创建一个包含状态机可嵌入 iframe。
# Twitter 链接
共享菜单中的 Twitter 链接选项会撰写一条推文,其中包含指向状态机 Visualizer 的链接。
# 实时更新快照图像
共享菜单中的 Copy Image URL 选项将状态机图像的链接复制到剪贴板。该图像是状态机的快照,并且会随着你状态机的任何更改而更新。
下图是 David’s example fetch machine (opens new window) 的快照。
# 嵌入模式
共享菜单中的 Embed 选项为状态机的可嵌入 iframe 打开一个选项面板。
从文本域复制代码并将其粘贴到你想要嵌入状态机的任何位置。该状态机可以嵌入任何可以使用 iframe 的地方。
下面的嵌入式状态机是 David fetch 状态机示例 (opens new window) 在 State 面板激活的完整模式下,启用了平移和缩放的控制按钮:
你可以为你嵌入式状态机从多个选项中进行选择:
# 模式选项
默认模式是 viz。
- viz: 仅在嵌入的 iframe 中显示 Visualizer。
- panels: 在嵌入的 iframe 中仅显示 Code、State、Events 和 Actors 面板。
- full: 在嵌入的 iframe 中同时显示 Visualizer 和 Code、State、Events 和 Actors 面板。
# 显示控制按钮选项
在 viz 模式和 full 模式下,还有更多选项可以显示 Visualizer 的控制按钮。当 show control buttons 被选中时, 还会显示 Allow panning 和 Allow zooming。 如果未选择这些选项,按钮将可见但被禁用。
# 面板选项
在 panels 和 full 模式下,还有更多选项来选择 active panel,将编辑器设为只读以及显示到 Visualizer 的原始链接。
# 克隆 (Fork) 存在的状态机
在 the Rgistry (opens new window) 找到可用状态机?
使用 Fork 按钮,你可以 fork 一个状态机以便你自己使用。
# 有用的错误信息
在代码无法被可视化的时候,Visualizer 将提供具有描述性的错误消息,可帮助你发现和改正错误。
错误提示持续显示 4 秒. 点击 Visualize 可以再次查看错误。
# 自定义代码编辑器主题
在 Visualizer 的设置中,你可以为代码编辑器从 13 种颜色主题中选择一种主题,包括默认的 XState Viz 主题。
XState Viz
Night Owl
All Hallows Eve
Amy
Blackboard
Cobalt
Merbivore Soft
Monokai
Tomorrow Night
Poimandres
Garden of Atlantis
Martian Night
Atom One Dark
# 如何更改代码编辑器的颜色主题
- 使用顶部菜单栏中的按钮进入 Setting。
- 向下滚动到 Editor Theme 部分。
- 从下拉菜单中选择你喜欢的主题。
- 使用顶部菜单栏中的 Code 按钮返回代码视图。
# 视图控件
视图控制面板可帮助你浏览状态图。
Zoom out. 缩小画布以看到更多状态图信息。
Zoom in. 放大画布以看清更多状态图细节。
Fit to view. 将状态图缩放至适合可视区域的大小。
Reset canvas. 将状态图重置至 100% 缩放级别,并将其放在可视区域的左上角。
Hand tool. 点击后进入拖拽模式。按住并拖动以便其在画布上移动。取消选中即可退出拖拽模式。
Reset button. 将状态图重置为其初始状态。
# 键盘快捷键和命令面板
你可以使用快捷键调用常用的可视化命令。指令列表在 Settings 的 Keyboard shortcuts。
- CMD + S 在 Stately Registry (opens new window) 中保存或更新代码。
- CMD + Enter 可视化当前编辑的代码。
- CMD + K 显示命令面板。
- Shift + ? 显示命令面板。
# 命令面板
使用 CMD + K 或 Shift + ? 快捷键调出 command palette。你可以在控制面板中找到常用的可视化命令。
命令面板将来会有更多命令。
# 更多
- 使用 GitHub 登录
- 本地自动保存
# 即将推出的功能
我们即将推出更多功能。包含:
- 支持 Lucy DSL(领域特定语言)
- 自定义事件和事件负载支持
# 参与其中
带我去 Visualizer! (opens new window)
尝试在 Inspect 模式下 Visualizer (opens new window)
Visualizer 现在可用,并且将永远免费和开源。欢迎投稿!
# 反馈和错误报告
如果你有任何反馈或有任何功能要求,请 加入我们的 Discord server (opens new window) 在这里你可以找到我们的团队和精彩的 XState 社区。
概念 →