Eclipse検索からフォルダーを除外する


263

特定のフォルダー(およびそのすべてのサブフォルダー)をEclipse内の検索から除外する方法はありますか?


1
Google社員:(atzzの回答:) stackoverflow.com/a/6111002/1599699をご覧ください-これはあなたが探している答えであり、受け入れられた答えではありません。
Andrew

これは、現在受け入れ答えです@Andrew
ドナル・

すべての人類に対する正義!
Andrew

回答:


241

これが私にとって有効な方法です(私はHeliosを使用しています-この質問が最初に尋ねられたとき、おそらくこの方法は利用できませんでしたか?)

  • [プロジェクト]-> [プロパティ]-> [リソースフィルター]に移動します。
  • 追加をクリックします。
  • フィルターの種類を選択:すべて除外
  • 適用先を選択:フォルダ ; すべての子(再帰)をチェックします。
  • 属性には、選択した名前マッチ.svn(たとえば)。

(実際、私は.*.svn、.hgなどを一度に除外するために使用しています。)

プロジェクトのプロパティダイアログを許可すると、これらのディレクトリは検索で表示されなくなります。実際、Eclipseは非常に親切で、既存の検索結果ウィンドウを自動的に更新し、現在フィルターで除外されているすべての一致を削除します。


27
2011年現在の最新バージョンのEclipse(Helios&Indigo)では、これが受け入れられた回答であり、最も簡単な方法です。
アンドラーシュSzepesházi

9
これは一度に1つのプロジェクトにのみ適用できるため、派生フォルダーにマークを付けることによる利益にはなりません...フィルターを入力する必要がある回数によっては、さらに時間がかかる場合があります。
egid 2012年

この方法を使用する場合は、リソースフィルターを追加した後、検索履歴も(検索パネルの懐中電灯付きの下矢印ボタンを使用して)クリアしてください。そうしないと、検索時間を節約できず.git/.../filename.file doesn't exist、検索キャッシュ(おそらく?)が.gitフォルダーを有効な場所と見なすため、エラーが発生します。
coredumperror

18
これは機能しますが、パッケージエクスプローラーでファイルを非表示にします。ファイルを編集したいが、検索結果に表示したくない場合があります。
Aram Kocharyan、2012年

私が試したところ、これは検索結果のフィルタリングに機能しましたが、「プロジェクト 'Mercadosa-webapp'でビルダー 'AspectJ Builder'を実行中にエラーが発生しました。リソースがディスクに既に存在します: '/MyProject/target/MyProject-1.0/WEB -INF / freemarker / site / file.ftl '。リソースはすでにディスクに存在します:' /MyProject/target/MyProject-1.0/WEB-INF/freemarker/site/file.ftl '。 "
Marc

292

迅速かつ汚い方法:

フォルダを右クリックし、プロパティに移動して、フォルダを派生としてマークします。派生エンティティは、デフォルトでは検索から除外されます。このアプローチの問題は、Eclipseがフォルダーを削除した場合(Eclipse内から、または外部から、続いてプロジェクトツリーを更新すると)、フォルダーが派生していることを「忘れる」ことです。Eclipseでよくあることですが、これは長期にわたるバグ(この場合は10年)であり、現在のバージョン(執筆時点では4.6 Neon)にも当てはまります。

安全な方法:

検索するエンティティのみを含むワーキングセットを作成し、そのワーキングセット内でのみ検索します。参照してくださいデイブ・レイの答えは、この手順の詳細については、を。


2
Daveが彼の回答で述べたように:実際に派生していないものを派生するように設定すると、問題が発生する可能性があります。Mavenを使用してディストリビューションを作成するときのように。
Arjan

2
Junoでは、フォルダーを派生フォルダーとしてマークしても、検索から除外されません。私はMac OSで作業しているため、このOSで正しく機能しない機能がいくつかあるので、それに関連している可能性があります
Marc

MS-Windows XPのJuno SR2で動作します。そして、私を悩ませたフォルダーは実際に派生したものです(ファイルをリストすることで、何十億ものヒットが発生するビルドフォルダー)。
starblue 2013

@Instantsoup検索自体がフォルダを除外できないのはなぜですか?つまり、「!」これだけの性格ですか?なぜうまくいかないのかわかりません。
Android開発者

3
「検索したいエンティティのみを含むワーキングセット」を作成することは、安全な方法ではありません。実際、包含フィルターは非常に安全ではありません。除外されたものの兄弟である新しいディレクトリーまたはファイルを作成することを想像してください。その場合は、検索に含めることを忘れないでください。忘れてしまうと、検索には偽のネガティブがあり、危険であり、Eclipseの検索は信頼できないと信じるようになります。
JW。

81

派生リソースにマークを付けると、他の領域で問題が発生する可能性があると想像できます。代わりに、検索に含めるフォルダーを含むワーキングセットを作成します。

  • 検索ダイアログを開く(Ctrl+ H
  • 検索範囲をワーキングセットに変更
  • [選択...]をクリックします。
  • [新規]をクリックして、検索対象を含む新しいワーキングセットを作成します(または[すべて追加]をクリックして、フィルタリングするものを削除します

5
これにも問題があります。上記のInstantsoupの回答の下にある私のコメントを参照してください。この包含フィルターを使用すると、場合によっては、ファイルまたはフォルダーを追加するときに、それらを検索に含めることを忘れないようにする必要があります。忘れると、危険な偽陰性が発生します。これは理想的ではありません。
JW。

Eclipse Keplerには、[新規]をクリックすると表示される[ワーキングセットタイプを選択]ダイアログがあります。(すべての種類のファイルを検索するには、この時点で[リソース]を選択する必要があることに注意してください。)
Steve Chambers

1

Eclipse Junoの最も速くて汚い方法:

  1. フォルダを右クリックします
  2. プロパティに移動します。
  3. C / C ++ビルドに移動します。
  4. 「リソースをビルドから除外する」にチェックを入れます。
  5. OKボタンをクリックします。
  6. プロジェクトを右クリックします。
  7. インデックスに移動します。
  8. Rebuildをクリックします。
  9. リラックス!

1
  • プロジェクトを右クリック
  • 選択する Properties
  • 選択Resource->Resource filters
  • クリック Add filter
  • 次の設定を選択します。
    • すべて除外
    • ファイルとフォルダー
    • すべての子供(再帰)
  • 変更NameについてProject Relative Path
  • 入力テキストを(bin$|bin/.*|build/.*|build$)(置き換えてbinbuild除外するフォルダの名前で)入力します
  • ティック Regular expression

[OK]をクリックして、[適用]をクリックします。

免責事項

これは@atzzの答えに基づいており、これを理解するのに役立ちました。ただし、特定のファイルを除外する方法の質問には答えましたが、特定のフォルダーを除外する方法の質問には答えませんでした。


0

Eclipseでの検索からフォルダーまたはファイルを除外する

1 Right-click on the file/folder.
3 Click on the "Properties" option.
4 Select the "Resource" option.
5 Place a check next to the "Derived" attribute.

希望は助けです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.