Skip to main content
Storm Code が扱う zip は2種類あります。目的が違うので、混同しないでください。

ワークスペース zip

平文で、フォルダ構造もそのままです。展開すれば普通のエディタで開けます。

マニフェスト

.scode/workspace.json に形式の種類とバージョンが入ります。
名乗ったバージョンに対応していなければ、明示的に拒否します。 中途半端に読み込んでデータを壊すことはしません。
マニフェストが入っていない普通の zip は、パスと拡張子の検証だけを通して受け入れます。 他のツールで作った zip を取り込みたい場合に使えます。

入るもの・入らないもの

詳しくは zip でバックアップ・移行するを参照してください。

取り込み時の検証

Design だけ扱いが違うのは、1件のために zip 全体を拒否すると、 同じ zip の通常のコードまで取り込めなくなるためです。

救出バックアップ zip

旧公開版のデータを救出したときに作られます。
外側の zip をそのままインポートしないでください。 .scode/workspace.jsonkind が違うため拒否されます。 これは誤って取り込ませないための印です。取り込めるのは中の code.zip だけです。
code.zip はマニフェストを持たない普通の zip です。 ファイルを取り出すだけで、コードは変換されません。

取り出しに失敗した場合

中途半端な code.zip を成功として出すことはありません。 完全に復元できない場合は code.zipdesigns/ を含めず、 raw/ だけを残して EXTRACTION-ERROR.txt に理由を記録します。

raw/ の形式

元のデータベースの内容をそのまま退避したものです。 各値は型を示すタグ付きで保存され、バイト列は base64 です。 配列の空き要素も区別されます。 対応できない型や循環参照があった場合、黙って落とすことはせず、明示的に失敗させます。