跳转到内容

项目与 .restorm 文件

Restorm 项目存在于您自己的磁盘上。没有远程工作空间,也没有专有的同步机制: 您打开一个文件、保存它、提交它。

这是默认模式(文件 ▸ 新建,然后另存为)。整个项目都装在一个文件里, 默认为 YAML。另外还有两种序列化格式可选:jsonjson5

文件 ▸ 打开文件夹。项目会在磁盘上被拆散成一棵目录树, 这让大型项目的 diff 细致得多:

  • 根目录下有一个配置文件 restorm.conf,它只记录格式 (format: yaml | json | json5);
  • 每个目录下有一个索引文件(index.yamlindex.json……);
  • 各个文件夹和文件命名为 <index> - <name>,其中索引会按同级项数量的宽度补零, 以便屏幕上的顺序就是磁盘上的顺序。被禁止的字符(<>:"/\|?*)会被替换成 _,名称会被截断到 100 个字符。

在文件夹模式下,Ctrl+S 只写入当前标签页所对应的子树; Ctrl+Shift+S全部保存)则写入全部内容。

以文件夹模式打开的项目:左侧的树重现了文件夹的层级结构,状态栏指向的是一个文件夹 —— 而不是某个 .restorm 文件。

  • 项目树:文件夹、环境文件夹、所有协议的请求、场景;
  • 各个环境及其变量,包括子环境;
  • 自定义值列表和导入得来的枚举;
  • 标签及其颜色;
  • 附加在环境文件夹上的 API 文档;
  • 保存为“存放在项目中”的快速设置
  • 一个项目标识(_projectUuid)和一个格式版本号。

这是刻意为之的,目的是让文件可以放心共享:

数据它存在哪里
密钥项目旁边的一个 .env 密钥文件 —— 参阅密钥
响应历史放在项目旁边的一个 <project>.responses.zip 归档
“用户”级快速设置您的本地设置
收藏应用的本地存储,按项目标识建立索引
workbench 布局您的本地设置,按项目建立索引
工作区设置<project-folder>/.restorm/settings.json

实际效果是:您可以提交一个 .restorm 而不会泄露任何令牌, 而您的同事也不会收到您的标签页布局。

有两项保证,它们的存在完全是为了让版本管理真正可用:

  1. 规范化的键顺序。 身份类的键排在最前面(idnamekeytypefolderTypemethodurl),其余的按序排列。而数组的顺序永远不会被改动: 那是您自己的顺序。
  2. 以稳定方式派生的标识符。 一个实体的标识是根据它的语义路径计算出来的, 而不是随机生成的。两个人在同一位置添加同一个请求,会得到同一个标识, 这样合并时就能正确地配对实体。

结果就是:打开一个项目再重新保存而不做任何修改,不会产生任何 diff。 参阅内置 Git

文件 ▸ 最近的文件会列出最近打开的十个项目;已失效的路径会被自动移除。 同一份列表也用于填充欢迎界面。