コンテンツにスキップ

プロジェクトと .restorm ファイル

Restorm のプロジェクトは お使いのディスク上 にあります。 リモートのワークスペースも独自の同期機構もありません。 ファイルを開き、保存し、コミットするだけです。

既定のモードです(ファイル ▸ 新規作成、続いて 名前を付けて保存)。 プロジェクト全体が 1 つのファイルに収まり、既定の形式は YAML です。 シリアライズ形式は他に jsonjson5 も選べます。

ファイル ▸ フォルダーを開く を使います。 プロジェクトはディスク上のツリーに分解されるため、大きなプロジェクトでは差分がずっと細かくなります。

  • ルートに設定ファイル restorm.conf が置かれ、形式(format: yaml | json | json5)だけを保持します。
  • ディレクトリごとにインデックスファイル(index.yamlindex.json など)が置かれます。
  • フォルダーとファイルは <index> - <name> という名前になります。 インデックスは同階層の項目数に合わせてゼロ埋めされるため、画面上の順序がディスク上の順序と一致します。 使用できない文字(<>:"/\|?*)は _ に置き換えられ、名前は 100 文字で切り詰められます。

フォルダーモードでは、Ctrl+S はアクティブなタブのサブツリーだけを書き込みます。 Ctrl+Shift+Sすべて保存)は全体を書き込みます。

フォルダーモードで開いたプロジェクト。左のツリーがフォルダーの階層をそのまま反映し、ステータスバーは .restorm ファイルではなくフォルダーを指しています。

  • ツリー:フォルダー、変数フォルダー、あらゆるプロトコルのリクエスト、シナリオ。
  • 環境とその変数(サブ環境を含む)。
  • カスタム値リスト とインポートされた列挙型。
  • タグとその色。
  • 変数フォルダーに添付された API ドキュメント。
  • 「プロジェクト内」に保存された クイック設定
  • プロジェクト識別子(_projectUuid)と形式のバージョン。

プロジェクトに含まれないもの

Section titled “プロジェクトに含まれないもの”

ファイルを共有できるようにするため、意図的に除外されています。

データ保存先
シークレットプロジェクトの隣にあるシークレット用の .env ファイル — シークレット を参照
レスポンス履歴プロジェクトの隣に置かれる <project>.responses.zip アーカイブ
「ユーザー」保存先のクイック設定ローカル設定
お気に入りアプリケーションのローカルストレージ(プロジェクト識別子でインデックス)
workbench のレイアウトローカル設定(プロジェクト単位でインデックス)
ワークスペース設定<project-folder>/.restorm/settings.json

実用上の帰結として、トークンを流出させずに .restorm をコミットできますし、 同僚にご自身のタブレイアウトが渡ることもありません。

git のために作られたシリアライズ

Section titled “git のために作られたシリアライズ”

バージョン管理を実用的にするためだけに存在する、2 つの保証があります。

  1. 正規化されたキー順序。 アイデンティティに関わるキーが先頭に来ます(idnamekeytypefolderTypemethodurl)。残りはソートされます。 一方、配列の順序は決して変更されません。それはご自身が決めた順序です。
  2. 安定して導出される識別子。 エンティティの識別子はランダムに生成されるのではなく、 その意味的なパスから計算されます。2 人が同じ場所に同じリクエストを追加すれば同じ識別子になるため、 マージ時にエンティティを正しく対応づけられます。

その結果、プロジェクトを開いて何も変更せずに保存し直しても 差分は一切出ません統合された Git を参照してください。

ファイル ▸ 最近使ったファイル には、直近で開いた 10 個のプロジェクトが表示されます。 無効になったパスは自動的に除かれます。同じ一覧がホーム画面にも使われます。