- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 控制流程
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 日志记录
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 编码自动化
- 基于触发器的 Attended 自动化
- 对象存储库
- ScreenScrapeJavaSupport 工具
- 扩展程序
- Studio 测试
- 故障排除
低代码查看器是 Studio 的扩展程序,可将编码的 C# 工作流与源代码一起呈现为可视化的低代码画布。
低代码查看器是一个 Studio 扩展程序,可将编码工作流(类派生自 .cs 的 CodedWorkflow 文件)在其源代码旁边呈现为可视化的低代码工作流,这是传统 RPA 设计器在源代码旁边显示的方式自动化。
它适用于编写编码工作流的开发者,这些开发者希望在不离开 C# 代码的情况下获得自动化的清晰、可读的可视化视图。
低代码查看器处于预览阶段。它在开放式 VSX 市场上作为 Visual Studio Code (VS Code) 扩展程序分发,需要最新版本的 Studio。您可以从 Studio 的“扩展程序”面板安装该扩展程序。
查看者执行的操作
查看器提供编码工作流的两个同步视图,让这些视图与源代码同步,并从您的项目中获取活动面板。
工作流视图
这是一个 Studio 样式的树,覆盖整个文件。每种方法都会占用一个部分,其中包含每个语句的变量和一个行,以及用于 if、foreach、try 和类似结构的嵌套容器。
图谱视图
工作流进入方法的流程图 — 标记为 [Workflow] 或 Execute 的方法。条件和开关成为按分支扇出的决策节点,循环获得迭代和完成边,对您自己的方法的调用显示为单个调用块。该图表反映了输入方法的形状。
双向关注来源
在编辑器中移动光标会选择匹配的块,选择一个块会跳到其对应的行。在该面板中进行的属性编辑会通过最少的编辑写回 C#,因此会保留注释和格式。
活动面板
当查看器在 Studio 中运行时,这组活动及其属性编辑器、显示名称和图标将从项目引用的包中实时显示。在没有 Studio 的纯 VS Code 中,服务调用仍呈现为卡片,但使用通用标签,没有丰富的属性元数据。
查看者如何读取您的代码
画布是按语句构建的。每个语句或者映射到专用块,或回退到原始代码块。连续的无法识别的语句将合并到单个代码块卡中,因此运行不受支持的代码会折叠到一个不透明的框中。
查看器永远不会重写您未接触过的代码:它无法识别的任何内容都会在代码块卡中逐字显示,并且往返行程保持不变。您编写的任何内容都不会丢失,但划分为代码块的代码越多,画布上显示的内容就越少。
呈现为块的构造
| 您写入 | 您将获得 |
|---|---|
system.GetAsset(...)、excel.ReadRange(...)、其他服务调用 | 包含图标、显示名称、可编辑属性和带类型的输出的活动卡片 |
Log(...), Delay(...), throw ... | 内置活动卡(记录消息、延迟、抛出) |
var x = <expr>;, int x = 0;, x = <expr>; | 分配卡(“至变量”和“值”) |
count++;, count += 5; | “增量”或“减量”卡 |
if / else if / else | 分支容器;图表中边线为 true 或 false 的决策铃铛 |
foreach、for、while、do ... while | 循环容器;图形中具有可迭代后沿的循环节点 |
try / catch / finally | 尝试路径错误的容器 |
switch 语句 | 切换容器,每个分支一个 Case 分支;图表中,每个案例一个标记边线的决策 |
using (...) { }, lock (...) { } | 作用域框架 |
return <expr>;, throw <expr>; | 返回行或抛出卡;图表中,两者都终止路径 |
MyHelper(...) (同一文件中的方法) | 调用块;选择该字段以打开帮助程序 |
Helpers.Method(...) (另一个文件中的类) | 具有跨文件导航的调用块 |
workflows.MyWorkflow(...) | 带有“输入”和“输出”参数徽章的“调用工作流”卡 |
#region Name ... #endregion | 两个视图中的已命名可折叠组 |
回退为代码块的结构
| 构造 | 为何会限制画布 |
|---|---|
语句级别的 Lambda (rows.ForEach(r => ...)) 和 Lambda 中的逻辑 | Lambda 函数主体对画布不可见 |
局部函数(方法中的 void Helper() { ... }) | 整个函数主体被吞并到代码块中 |
不带初始值设定项的声明 (string name;) | 显示为一个代码块行 |
多变量声明 (int a = 1, b = 2;) | 显示为一个代码块行 |
using var x = ...; (声明表) | 作为一个代码块行呈现,对 x 的调用将丢失活动识别 |
arr[i] = value;, total *= 2;, msg += suffix; | 显示为一个代码块行 |
要将尽可能多的工作流保留在画布上,请参阅编写画布友好的编码工作流。