EclipseのJavaワーキング・セットとリソース・ワーキング・セットの違いは何ですか?
Resource ワーキング セットはより一般的であり、Java アプリケーション/プロジェクトだけでなく、次のように言えます。
Java 開発者の日常生活を想定してみましょう。Java ワーキングセットよりもResource ワーキング セットを使用することを彼/彼女に提案しますか? どちらかを優先する特定の状況はありますか?
これは質問に答えるべきだったようです:
ワーキング セットは、Eclipse プロジェクトのサブセットです。さまざまなワーキング セットを作成してから、ナビゲーター ビューに表示するワーキング セットを選択できます。
具体的には:
「ワーキング セット」(この特定のコンテキストで) は「Eclipse のもの」です。
Eclipse ワーキング セットの目的は、プロジェクトの編成を支援することです。
プロジェクトは、ソース コード、ビットマップ グラフィック ファイル、WSDL、CSS スタイル シートなど、想像できるあらゆるもので構成されます。
したがって、Eclipse プロジェクトは (たとえば、私の J2EE パースペクティブをちらりと見ると)、「src」、「WebContent」、「Services」などのサブセクションに編成されます。プロジェクト自体は、「Java プロジェクト」、「Java Swing デザイン プロジェクト」、「動的 Web プロジェクト」など、さまざまなタイプのいずれかになります。
同様に、Eclipse ワーキング セットは、「Java ワーキング セット」、「ブレークポイント ワーキング セット」、「リソース ワーキング セット」など、いくつかの異なるタイプのいずれかになります。
Eclipse の「ビュー」および「パースペクティブ」と同様に、通常は必要なときにいつでも必要なプロジェクト リソースにアクセスできます。1 つまたは別のパースペクティブを選択すると、オブジェクト (「問題ペイン」または「ビルド リスト」など) に簡単にアクセスできるようになります。 .
どの種類の「ワーキング セット」を選択するか、またはワーキング セットを使用するかどうかは、主に個人的な好みと利便性の問題です。
他にご不明な点がございましたら、お気軽にお問い合わせください。
PS: 追加リンク:
https://www.ibm.com/developerworks/library/os-eclipse-visualstudio/
前述のように、多くの開発者はすべてのプロジェクトを 1 つの Eclipse ワークスペースにロードします。これは便利ですが、場合によっては散らかりすぎてしまうこともあります。不要なプロジェクトを閉じるだけでなく、作業セット (要素のグループ (プロジェクト、フォルダー、クラスなど)) を定義できます。Eclipse は、さまざまなビュー (パッケージ エクスプローラーなど) および操作 (検索など) でワーキング セットを使用できます。
...と:
Eclipseのコンテキストでのワーキングセットは、IDE内のビューの検索と整理を容易にするために、関連するプロジェクトを論理的にグループ化したものです。
リソースワーキングセットは、すべてのタイプのリソース(java source、html、xml、javascript、imagesなど)をキャプチャできます。これは、ワーキングセットに含まれるプロジェクトのスコープ内に存在するすべてのものです。
Javaワーキングセットは別のワーキングセット(リソースワーキングセットのサブセットではありません!)であり、ソースフォルダーに属し、クラスパスにコンパイルされているJavaファイル、またはビルドパスのモジュール(ライブラリ)。したがって、クラスパスにあるJava「クラス」を検索できます。プロジェクト内のすべてのJavaファイルが必ずしもクラスパスに組み込まれているとは限らないことに注意してください(たとえば、Javaソースファイルを除外すると、それ以上ビルドされなくなります)。ただし、クラスパスに含まれていないJavaソースファイルは、リソースワーキングセットで検出できます(含まれているJavaソースファイルのアイコンは実線のJですが、除外されているJavaソースのアイコンは中空です。 J)。
例:2つのプロジェクトp1とp2があり、そのうちp1はワーキングセットに属しているが、p2は属していないとします。それで:
MyClass.java(p1に属し、ビルドパスに含まれます)-Javaタイプ検索(Ctrl + T)およびリソース検索(Ctrl + R)に表示されます。
MyOtherClass.java(p2に属し、ビルドパスに含まれています)-Javaタイプ検索にもリソース検索にも表示されません。
MyExcludedClass.java(p1に属し、ビルドパスから除外されます)-Javaタイプ検索には表示されませんが、リソース検索には表示されます。
MyExcludedClass.class(p1のビルドパスの依存関係jarに属します)-Javaタイプ検索には表示されますが、リソース検索には表示されません。
MyWebPage.html(p1に属する)-Javaワーキングセットではなく、リソースワーキングセットに表示されます。
MyOtherWebPage.html(p2に属する)-Javaタイプ検索にもリソース検索にも表示されません。
MyConfig.xml(p1に属します)-Javaタイプの検索には表示されませんが、リソース検索には表示されます。
したがって、Java開発者の使用のコンテキストでは、Javaワーキングセットを使用してJavaで定義されたタイプ/クラスを検索しますが、リソースワーキングセットはすべての異なるタイプを検索します。
ワーキング セット間の 1 つの違いは、異なる編集ウィザードを提供することです (ここで説明されているように: http://help.eclipse.org/helios/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcworkset .htm )。リソース ワーキング セットと Java ワーキング セットをそれぞれ編集すると、含めるリソース/プロジェクトを選択するために異なる画面が使用されることがわかります。
これとは別に、他の違いは見つかりませんでした。また、選択できるリソースに違いはないようです。したがって、どちらが推奨されるかという質問に答えるには、同じように動作するため、「問題ありません」と答えます。
ワーキング セットはワークスペースのサブセットであり、すべてのプロジェクトを整理する方法です。ここで説明されているように、ワーキング セットの種類が異なると、編集ウィザードの種類も異なります。
編集ウィザード
Java プロジェクトの場合、Java ワーキング セットはより快適な作業方法です。Java ワーキング セットに多数の Java プロジェクトがあり、Java ワーキング セットの編集ウィザードを開いたとします。
まず、現在のワーキング セットの内容をすべて右の表で確認できます。別のプロジェクトを含めたい場合は、プロジェクトを選択してCTRL+を押すだけaです。プロジェクトを削除するには、CTRL+を押しますr
リソース ワーキング セットのプロパティでは、ツリー ビューの一番下までスクロールするまで、ワーキング セットの内容がわかりません。ワークスペースに 300 以上のプロジェクトがある場合、これは不可能です。
構造
2 種類のワーキング セットを持つ利点は構造です。日常のワークフローでは、アイコンが異なるため、さまざまなタイプのワーキング セットがあると便利な場合があります。構成ファイルのようなリソースがある場合は、「構成ファイル」という名前のリソース ワーキング セットを作成し、そこにすべてのファイルを配置できます。
その後、ファイル検索を開いて設定ファイルを検索できます。これが可能なのは、ワーキング セットを検索の範囲として定義できるためです。
Eclipse には、 Select working set ダイアログでワーキング セットを選択できる部分がいくつかあります。
プラグイン開発者としての観点から回答してみます。APIから:
ワーキング セットは、ユーザーへの表示や一連の要素に対する操作のために要素をグループ化することを目的としています。
これはあらゆる種類の要素であり、プロジェクトである必要はありません。ワーキング セットはプラグインによって提供されます。プラグインは、追加できる要素の種類を決定し、要素を追加するためのウィザードと実行可能な操作を提供します。
プロジェクトがどのワーキング セットに含まれるかは問題ではありません。Java プロジェクトは、リソース ワーキング セットにある場合でも Java プロジェクトです。特定の種類のワーキング セットをフィルタリングする一部のビュー、ダイアログ、および操作にのみ影響します。
JavaおよびResourceワーキング セットのほかに、Breakpoint 、 Task 、 Plugin 、およびC/C++ワーキング セットもあります (もちろん、Eclipse の設定によって異なります)。一部のビューは特定のタイプのワーキング セットのみを表示しますが、他のビューはそれらをフィルタリングしていないようです。たとえば、[Open Type] および [Open Resource] ダイアログには、すべてのタイプのワーキング セットが表示されるようです。[タスクを開く] ダイアログには、タスクのワーキング セットのみが表示されます。
では、Java とリソースのワーキング セットの実際の違いは何でしょうか? 機能的な違いはまだ見られません。すべての標準ビューとダイアログは、これら 2 つのワーキング セット タイプの両方を処理するか、またはまったく処理しないように見えます。ほとんどのプラグインはこの区別をまったく気にしていないようですが、それは、一部のプラグインが両方のタイプを異なる方法で処理できるという意味ではありません。
一方、リソース ワーキング セットは、あらゆる種類のプロジェクトに共通するように思われるため、ほとんどのプラグインがここで区別しないのは理にかなっています。たとえば、Java プロジェクトを分析するオプションを提供するプラグインを作成する場合、その操作を Java ワーキング セットのコンテキスト メニューに追加しますが、C/C++ ワーキング セットには追加しません。ただし、同じワーキング セットに Java と C の両方のプロジェクトがあるため、リソース ワーキング セットを使用する人もいます。そのため、リソース ワーキング セットのコンテキスト メニューにも Java 固有の操作を追加する必要があります。