2

Eclipse CDT 4.2 では、いくつかのフォルダーのみをリソースとして含めたいと考えています。たとえば、「/root」はプロジェクト「myproject」が作成される場所です。これらのフォルダーのみを含めて、他のフォルダーを除外したいと考えています。

  • /ルート/A
  • /ルート/B
  • /ルート/C/D

私はこれがで行うことができることを知っています

   Project -> Resource -> Resource Filters

しかし、そこにあるUIは私を混乱させます。

  • 場所と相対パスの違いは何ですか。
  • 「再帰的に適用する」チェックボックスも少し混乱しています。
  • 正規表現を指定する方法はありますが、*/root/A/* や */myproject/A/* のように * で始まる正規表現を入れると、"Dangling meta character near index 0" というエラーが発生します。

要するに、これらの一見紛らわしいオプションのために(私にとって)、私はまだ上記のことを達成できていません。どうか明らかにしてください

PS : ソースが Linux のファイル システムと独自のソース管理システムにある方法は、すべてリンクです。これが重要かどうかはわかりませんが、言及するだけです。

例 root/A/file.c --> [file.c のバージョン管理システムへのリンク]

4

1 に答える 1

6
  • 場所と相対パスの違いは何ですか。

Location はフル パス (例/home/user123/workspcae/proj1/src/foo.c) で、相対パスはプロジェクト ディレクトリ内の部分のみです (例src/foo.c)

  • 「再帰的に適用する」チェックボックスも少し混乱しています。

ルールが projet-root だけでなく、サブディレクトリにも使用されることを意味します。つまり、サブディレクトリ内のファイルのみに一致するため、一致するルールはsrc/*.c「再帰的に適用」なしでは何もしません。src

  • 正規表現を指定する方法もありますが、 /root/A//myproject/A/のように * で始まる正規表現を入れると、「インデックス 0 付近にメタ文字がぶら下がっています」というエラーが表示されます。

正規表現ではなく、ワイルドカードを使用しています。正規表現ははるかに複雑で、星印は前の「オブジェクト」が 0 回以上発生する可能性があることを意味します。この前のオブジェクトがないと、Eclipse は混乱します。正規表現ボックスをチェックしないでください。期待どおりに機能するか、星の前にドットを追加して、任意の文字を意味します。

問題を解決するには、次のようにします。

プロジェクト -> プロパティ -> リソース -> リソース フィルター

  • 以下のみを含める:
    • フォルダ: (名前が一致) a
    • フォルダ: (名前一致) b
    • フォルダ: (名前が一致) c
  • すべて除外:
    • ファイル: (名前が一致) *

フォルダー c -> プロパティ -> リソース -> リソース フィルター

  • 以下のみを含める:
    • フォルダ: (名前一致) d
  • すべて除外:
    • ファイル: (名前が一致) *
于 2013-01-25T15:24:48.493 に答える