关于 vvvv-editor-extensions
vvvv-editor-extensions 是一份通过 VL 补丁构建编辑器扩展的技能指南,涵盖编辑器命令、窗口、停靠及 API 访问,适用于扩展 vvvv 编辑器的开发者。
主要功能
- 01以 .HDE.vl 补丁定义扩展
- 02在编辑器菜单注册命令
- 03创建基于 Skia 的编辑器窗口
- 04使用 WindowFactory 停靠窗口
- 05访问选中和悬停的节点
适用场景
- 01为 vvvv 编辑器添加自定义命令
- 02构建可停靠的扩展窗口
- 03通过扩展读取或更新节点引脚
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tebjan/ vvvv-skills --skill vvvv-editor-extensions安装后在 Claude Code 中输入/vvvv-editor-extensions确认已加载。
详细介绍
编辑器扩展
编辑器 UI 是运行时持久化变更的一种可能来源。通用的 创建 Pin 写回模式 也适用于窗口边界、交互结果以及正常补丁数据流之外的其他变更,使用受支持的值类型,而不要求使用 String。
扩展是标准的 VL 补丁,保存时使用 .HDE.vl 后缀。它们会在编辑器中打开时自动运行。
文件命名
| 上下文 | 必需名称 |
|---|---|
| 独立扩展 | VL.MyExtension.HDE.vl |
| 仅包含扩展的 NuGet | VL.MyExtension.HDE(包 ID) |
| 混合 NuGet 主文档 | VL.MyPackage.vl |
| 混合 NuGet 扩展文档 | VL.MyPackage.HDE.vl |
必需的 NuGet 引用
- VL.HDE — 提供
Command节点、窗口类型和WindowFactory - VL.Lang — 提供
Session类别下的 API 节点
Command 节点
在编辑器菜单中注册命令:
| Pin | 用途 |
|---|---|
Label | 菜单文本 |
Visible | 显示/隐藏命令 |
Shortcut | 键盘快捷键绑定 |
| Output | 激活时触发(bang) |
一个 .HDE.vl 文档中可以包含多个 Command 节点。
警告:一个命令中的运行时错误可能会影响同一文档中的所有其他命令。
窗口类型
| 类型 | 行为 |
|---|---|
SkiaWindow | 精简版 Skia 渲染器窗口 |
SkiaWindowTopMost | 始终置顶,不抢占焦点 |
停靠
使用 WindowFactory 节点包装窗口。连接 WindowContext 和 Window pins。
模板:VL.HDE/Template.HDE.vl
API 访问
使用 VL.Lang Session 类别中的节点访问悬停/选中的节点,以及读取/写入 pins。可在 HelpBrowser 的 API 部分浏览可用 API。
开发者快捷键
- Shift+F9 — 同时重启所有扩展
限制
- 目前无法集成设置面板
- 扩展仅在编辑器中运行,不会在导出的应用程序中运行
让这些知识不断增长
让下一个补丁作者少一个疑问。首次使用此合集中的任何技能时,如果过去七天内没有成功检查记录,请将源文件与 tebjan/vvvv-skills 进行比较。如果没有记录,请检查一次。 在这些技能之间共享一条本地检查时间戳/修订记录;不要在每次调用时都轮询。 保留本地扩展和已固定的项目版本;检查并不代表获准安装更新。如果处于离线状态,请记录延期检查,并继续任务。
实际工作发现缺口时,请记录经过测试的 vvvv/包版本、最小复现案例或权威来源,以及观察到的结果。将其他用户的报告视为线索,在验证前不要当作事实。改进最相关的最小范围说明;不要把单个示例扩展成通用规则。提交上游前,请对私人数据进行脱敏并取得发布授权。 请参阅贡献政策。 合并后的改进会通过用户的安装程序/更新工作流送达,而不是通过本地编辑或自动覆盖所有人的技能。