4

中規模の C++ プロジェクトのいくつかのブランチ (ブランチごとに最大 15k ファイル) のメンテナンスを行っています。非常に多くの場合、特定の文字列または正規表現をすべてのプロジェクト ファイルで検索する必要があります。現在、必要なすべての機能 (大文字と小文字の区別、正規表現、ファイル名マスク) を備えた Total Commander を使用していますが、このツールは毎回すべてのファイルをスキャンするため、時間がかかりすぎます。

ソース ツリー全体に事前にインデックスを付けて、パターンをすばやく見つけることができるテキスト検索ツールを知っていますか? 一致するすべてのファイルを返すことは必須です。見つかったパターン周辺のプレビューがあればいいでしょう。もちろん、何かが変更された場合、インデックスは即座に更新する必要があります。

Visual Studio の検索では不十分です。ソース ファイルのみをスキャンします (メタデータやカスタム リソースはスキャンしません)。

そのようなツールは存在しますか?Windows XP を使用しています。

編集:非常に使いやすいツールを見つけました。自分の答えを見てください

4

8 に答える 8

4

私はここで非常に便利なツールを見つけました:http ://code.google.com/p/ndexer/

みんなにお勧めです!

于 2009-05-15T15:08:53.653 に答える
2

cscope は、c ファイルにインデックスを付けることができ、ある程度 c++ にもインデックスを付けることができます。私は個人的に、cscope の UI よりも使いやすい KDE フロントエンド KScope を使用しています。

それとは別に、OpenGrokを見たいと思うかもしれません

于 2009-05-07T11:27:56.883 に答える
0

必ずしも webapp が必要ないことはわかっていますが、Open Grokを試してください。

于 2009-05-07T17:50:28.553 に答える
0

Google デスクトップ検索を試すか、汎用のインデックス作成ツールとしてLuceneまたはclucene (c++ に移植された lucene) を試してみてください。

于 2009-05-07T14:01:38.667 に答える
0

この問題を回避する簡単な方法の 1 つは、すべてのソース コードを RAM ディスクに置くことです。この方法でファイル IO を高速化すると、ツール チェーンを変更しなくても、パフォーマンスが大幅に向上します。

于 2009-05-07T11:22:37.190 に答える
0

http://aaron.oirt.rutgers.edu/myapp/docs/W1300.testAndDemoを参照 し、コード ツリー検索デモへの「検索デモ」リンクに従ってください。 これはまさにあなたが求めていることを行い、WHIFF の標準的なデモ コンポーネントです。Pygments プラグインを追加して、バイナリ ファイルから目的の文字列を取得する (または単にファイル全体を「テキスト」として読み取る) 必要があります。既定では、インデクサーは Pygments が認識しないファイルを無視します。「すべてを食べる」ようにする簡単なハックがあります。詳細が必要な場合はお知らせください。

検索用のインストールおよびコマンド ライン インターフェイスについては、http://aaron.oirt.rutgers.edu/myapp/docs/W1300_1000.searchで説明されています。

于 2009-05-07T13:39:29.657 に答える
0

Windows インデックス サービスは、すべての条件に一致するようです。

于 2009-05-07T17:53:14.430 に答える