9

私たちは、必要なときに何かを見つけることをほとんど不可能にする、巨大で古い恐ろしいコードベースを持っています。確かに改善に取り組んでいます...しかし、ファイルの内容を検索して、使用されている場所を見つけるために、大規模な再帰的なgrepを実行していることに気付くことがよくあります。

ディレクトリ内のテキスト ファイルのフルテキスト インデックスを作成し、それをコマンド ラインからクエリするために使用できるツールはありますか?

ユーザー空間で実行でき、デーモンを必要としないものを優先します。開発サーバーには多くのユーザーがいるので、コードベースのインスタンスを検索できるものが必要です。

4

4 に答える 4

5

私は "gid" (別名 "id-utils") の大ファンです。

使い方は簡単です:

  1. お好みのパッケージ マネージャーで id-utils をインストールします (例: "sudo apt-get install" または "yum")。

  2. ソースディレクトリのルートに「cd」し、「mkid」を実行します

  3. コマンドラインから使えます

  4. 「vim」やその他のツールからも使用できます。

于 2012-08-05T05:25:18.353 に答える
2

Russ Cox は、Google コード検索アルゴリズムがどのように機能するかを説明する一連の記事を書きました彼は、ローカル コードベースで高速な正規表現検索を実行できる一連のコマンド ライン ツールで、単純化されたバージョンのアルゴリズムを再実装します。

別の方法は、 ctagsのようなものを使用して、コードで使用される識別子のインデックスを作成することです。多くのエディター (私が使用している Vim を含む) は、このタグ ファイルを使用して、識別子の定義にすばやくジャンプできます。

于 2012-08-05T05:27:50.937 に答える
0

大規模な C++ プロジェクトで作業する必要があります。いくつかのツールを調査した結果、id-utilsが最良の選択であることがわかりました。これは、インデックスの構築とパターンの検索が非常に高速であるためです。

id-utils に基づいて、コマンド ライン ツールと vim プラグインを作成して、必要性を修正しました。

https://github.com/fcamel/gj

それが役に立てば幸い。

于 2013-11-04T16:11:43.117 に答える