リソースおよびワークスペース

ユーザーのデータ・ファイルの中心的なハブをワークスペースといいます。プラットフォーム・ワークベンチは、ユーザーがワークスペースをナビゲートして操作するためのツールとして考えることができます。リソース・プラグインは、ワークスペースのリソースを作成、ナビゲート、および操作する API を提供します。ワークベンチはこれらの API を使用して、ユーザーにこの機能を提供します。ユーザー・プラグインもこれら API を使用します。

リソース・ベースのプラグインの見地からは、存在するワークスペースは 1 つだけで、プラグインが実行中である限り、このワークスペースはビジネスを処理するために常に開かれています。ワークスペースは、リソース・プラグインが活動化されたときに自動的に開かれ、プラットフォームをシャットダウンすると閉じます。ユーザー・プラグインがリソース・プラグインを必要とする場合には、 リソース・プラグインはユーザー・プラグインより先に開始され、次にワークスペースがユーザーに開放されます。

ワークスペースはリソースの集合を含んでいます。ユーザーの見地からは、 次の 3 つのリソースのタイプ、すなわちプロジェクトフォルダー、およびファイルが存在します。1 つのプロジェクトは任意の数のファイルおよびフォルダーの集合です。プロジェクトは、特定の領域に関連するその他のリソースを編成するためのコンテナーです。ファイルおよびフォルダーは、ファイル・システムにおけるファイルおよびディレクトリーと同様のものです。1 つのフォルダーは、他のフォルダーまたはファイルを含んでいます。1 つのファイルは、任意のバイト・シーケンスを含んでいます。 ファイルの内容はプラットフォームによって解釈されることはありません。

ワークスペースのリソースは、プロジェクトをトップレベルにしてその下にフォルダーおよびファイルを配置したツリー構造に編成されています。ワークスペース・ルート・リソースである特殊リソースは、リソース・ツリーのルートとして機能します。ワークスペース・ルートは、ワークスペースの作成時に内部で作成され、そのワークスペースが存在する限り存在します。

1 つのワークスペースは任意の数のプロジェクトを持つことができ、各プロジェクトはディスク上のさまざまなロケーションに保管できます。

ワークスペース・リソース・ネーム・スペースは、常に大/小文字を区別し、大/小文字を保存します。 したがって、ワークスペースでは、大/小文字だけが異なる名前の複数の兄弟リソースが存在できます。また、ワークスペースでは、リソース名の有効な文字、リソース名の長さ、またはディスク上のリソースのサイズに対する制限はありません。 もちろん、大/小文字が区別されないディスクまたはリソース名に対する制限があるディスクにリソースを保管する場合には、リソースを実際に作成および変更しようとすると、そのような制限が明らかにされます。

サンプル・リソース・ツリー

次のツリー (「ワークベンチ・ナビゲーター」ビューに表示される) は、ワークスペースの典型的なリソース階層を図示しています。ツリーの (暗黙の) ルートはワークスペース・ルートです。プロジェクトはワークスペース・ルートの直接の子です。それぞれのノード (ルートを除く) は 3 種類のリソースの内の 1 つで、兄弟ノードとは異なる名前を持っています。

サンプル・ワークスペースが表示された「ナビゲーター」ビュー

リソース名は任意のストリングです (通常 -- これらの名前は有効なファイル名である必要があります)。プラットフォーム自体はリソース名を規定せず、特定の重要度を持つどのような名前も指定しません。   (唯一の例外は、プロジェクトに".metadata" という名前を付けられないということです。この名前は内部的に使用されています。)

プロジェクトはファイルおよびフォルダーを含んでいますが、他のプロジェクトは含みません。プロジェクトおよびフォルダーは、 ファイル・システムにおけるディレクトリーのようなものです。 プロジェクトの削除時に、 そのプロジェクトに含まれるすべてのファイルおよびフォルダーを削除するかどうかを聞かれます。  プロジェクトからフォルダーを削除すると、そのフォルダーおよびそのすべての子が削除されます。 ファイルの削除は、ファイル・システムのファイルの削除と同様です。