跳到主要内容

组合动作执行与调试变化

Quicker V2 为新版组合动作引入新的步骤运行器和统一执行管道。动作格式仍以兼容为前提,但运行、取消、调试和错误定位的基础结构已经更新。

已有模块的使用方式总体保持兼容。当前 2.0 模块的 Key、输入输出、默认值和枚举值请以组合动作模块参考为准;旧版说明与当前元数据已经按模块 Key 合并,新增或共享帮助页的模块也有独立参考页。

新版步骤运行器

大多数已有步骤都提供 V2 运行器。V2 新建和日常维护会优先使用新版实现,旧运行器只保留为明确的兼容边界。

新版运行器改进了参数解析和缓存。一个步骤在同次执行中重复读取同一参数时,通常不需要反复解析表达式。

需要在循环或运行过程中读取最新变量的参数,会明确标记为动态读取。这样既避免无意义的重复计算,也不会把本应变化的值错误缓存。

统一执行管道

1.x 中,普通步骤、步骤组、并行分支和部分控制流存在不同的执行旁路。V2 把它们逐步收口到统一的动作会话和步骤执行管道。

统一管道负责:

  • 步骤开始、结束、跳过和失败状态;
  • 动作取消和强制停止;
  • ReturnBreakContinue 等控制结果;
  • 步骤组与并行分支生命周期;
  • 运行中动作在托盘菜单中的状态;
  • 结构化调试事件和变量观察。

并行步骤与 WaitAny

WaitAll 会等待全部分支结束。WaitAny 会在第一个分支完成后结束等待,但默认不等同于立即取消其它分支。

V2 的多线程步骤组和“每个”步骤增加了“WaitAny 模式下自动取消其它分支”选项。启用后,Quicker 会向剩余分支发出协作式取消请求。

如果某个步骤内部调用的外部组件不响应取消,它仍可能需要等调用返回后才能完全结束。V2 不会使用 Thread.Abort 强制终止线程。

结构化调试记录

1.x 的调试主要生成 HTML 运行日志。V2 可以先记录结构化事件,再生成可查看的报告。

报告能够更清楚地表达:

  • 步骤和子程序的嵌套关系;
  • 循环迭代与并行分支;
  • 步骤输入、输出和变量摘要;
  • 步骤耗时、失败位置和异常信息;
  • 动作被取消、停止或正常结束的原因。

“启用结构化调试记录”是本机选项,不参与账号同步,并且需要同时启用新组合动作执行引擎。

断点和单步调试

可编辑的新版组合动作支持:

  • 点击步骤左侧切换当前编辑会话的断点;
  • 启动断点调试并停在第一个串行步骤;
  • 最小化编辑器后运行到指定断点;
  • 暂停、继续和停止;
  • 单步跳过 F10
  • 单步进入 F11
  • 单步跳出 Shift+F11
  • 暂停时查看当前步骤和变量摘要。

断点是当前编辑窗口的运行状态,不会写入动作,也不会随动作分享或同步。

并行区域的执行顺序并不确定。当前版本会对部分并行分支中的断点或单步操作进行降级,并在调试界面中提示,而不会假装提供确定的串行顺序。

多步骤输入编辑改进

“多步骤输入”编辑器支持 CtrlShift 多选,以及跨编辑窗口复制和粘贴步骤。

复制使用带版本的 V2 数据格式,保留步骤顺序、启用状态、备注、延迟和暂不支持步骤的原始数据。粘贴后会创建独立副本。

也可以复制为 1.x 可识别的多步骤输入脚本,或从该脚本粘贴。无法表达的 V2 信息会使用兼容注释保存,旧版解析器会把这些注释忽略。

C# 文件应用

V2 组合动作增加了 C# 文件应用步骤,可把较大的 C# 逻辑放在独立文件中编译和运行,并复用构建缓存。

它适合需要完整项目式代码、外部文件和更好补全体验的场景。简单表达式和短代码不必因此改成文件应用。

模块参数见C# 文件应用

该功能运行在 .NET 10 环境中。引用旧 .NET Framework 程序集、x86 原生 DLL 或已移除 API 时,仍需按运行平台与 64 位迁移检查。

兼容性边界

  • 只读动作继续使用兼容 HTML 调试输出,不支持断点和单步;
  • 未识别的步骤会尽量作为不可编辑占位保留,避免保存时丢失原始数据;
  • 旧版组合动作可以运行和查看,但不再支持编辑;
  • 关闭新执行管道时,结构化调试和断点调试不可用;
  • 调试记录失败不应改变动作本身的运行结果。

升级后建议先复制并调试包含多线程、等待、循环、C# 代码或外部组件的复杂动作,再替换正式使用的版本。

需要继续查阅编辑器、变量、表达式、子程序和具体模块时,进入组合动作文档首页