22

私が取り組んでいるコードベースは巨大で、grep には約 20 分かかります。koders.com のイントラネット バージョンのような、優れた Web ベースのソース コード検索エンジンを探しています。

私が見つけた唯一のものは Krugle Enterprise Edition で、その価格は掲載されていません...そして、尋ねなければならない場合、あなたはそれを買う余裕がありません.

私は、他に多くの付加機能のない、単純な古い検索エンジンを本当に好みます。

ソースはほとんどが ASP.NET/C# と Javascript です。

4

11 に答える 11

9

OpenGrokをお勧めします。他にもいくつかのエンジンがあります。ここではそれらの簡単なレビューを行います。

于 2008-09-28T23:42:20.963 に答える
6

20分はとんでもない!最近、100万行以上のソースコードベースで作業しており、greppingにはせいぜい数秒しかかかりません(私はackを使用しています)。私たちのホーム ディレクトリはファイル サーバーに保存され、NFS 経由でマウントされます。grep を高速化するために、ファイル サーバーにログインした状態でこれを行います。NFS を引き継ぐのにどれくらいの時間がかかるかはわかりませんが、確かに長くなります。

同じパフォーマンス上の理由から、ファイル サーバーにログインしている間もソース管理操作を行います。

于 2008-09-20T00:04:57.313 に答える
3

Linux では、GNU ID Utilsを使用します。これらには grep と同様の機能がありますが、インデックスから機能するため、信じられないほど高速です。mkid を実行してインデックスを作成してから、「gid」などの他のユーティリティの 1 つを実行します。これは、grep の ID ツール バージョンであり、インデックス全体を grep します。mkid を時々実行する cron ジョブがあります。

ID ツールは、cygwin または標準の Windows プログラムとして、Windows でも動作します。

于 2008-09-20T00:48:52.060 に答える
2

Linuxカーネルで証明されているように、 Lxrは大きなコードベースでうまく機能します。Cのみだと思います(使用する言語を指定しませんでした)。

于 2008-09-19T23:44:35.117 に答える
1

以前に OpenGrok を使用したことがあり、非常に満足しています。別の選択肢は次のとおりです。

ゴンズイ http://gonzui.sourceforge.net/screenshots.html


(出典: sourceforge.net )

于 2011-07-14T07:41:07.423 に答える
1

大量のソース コードがある場合は、検索エンジンをセットアップしてインデックスを作成するのに少し時間がかかる場合があります。私は Lucene をお勧めします。これは無料で高速で、プログラミングの経験がある人なら誰でも簡単にコンテンツに強力なインデックスを設定できます。

http://lucene.apache.org/

于 2008-09-19T23:45:31.590 に答える
1

cs2projectをしばらく使用してきました。これは、Lucene.NETに基づくオープン ソースの c# コード検索エンジンです。残念ながらもう開発されていません。

于 2009-10-26T07:02:39.307 に答える
1

「grepping」と言っているので、コマンドライン ソリューションに無関心ではないと思います。

ctagsのようなツールは、C# および JavaScript のコードベース (その他多数) のインデックス作成と検索を行います。

ctags の優れた点は、vim と組み合わせて taglist プラグインを使用してソース コードを参照したり、vim omnicomplete を使用してコード補完を有効にしたりできることです。

于 2008-09-20T00:06:32.723 に答える
0

同様の問題がありました。私は、プロジェクトに c#、c++、asp.net、db スクリプト、さらには vb6 ソース コードが含まれるソフトウェア会社で働いています (ビジュアル スタジオの新しいバージョンのようなソリューションの概念がない場合、複数の vb6 プロジェクトをコンパイルするのは頭痛の種です。 ..)

Visual Studio 2010 を使用していますが、サード パーティのテキスト エディターを使用して db スクリプトと vb6 ソース コードを検索する必要がありました。

私はいくつかの調査を行い、KodeEx (http://kodeex.com) を見つけて満足しています。これは、インデックス ベースのソース コード検索ツールです。何も構築する必要はありません (他の人が Lucene で行うことを提案したように。ちなみに Lucene は素晴らしいオープン ソース プロジェクトです =))。インストールするだけで、プロジェクトのインデックスを作成できます。その後、通常は数秒以内に結果が返されます。

于 2011-11-26T04:19:24.547 に答える
0

SD ソース コード検索エンジンを参照してください。言語を認識し、多くの言語 (C、C++、C#、Java、ObjectiveC、PHP、VB.net、VB6、Ada、Fortran、COBOL など) を処理します。Linux カーネル全体 (730 万行、18000 以上のファイル) を検索するのに 2.8 秒かかります。

言語に対応しているため、検索に関係のない言語要素を無視できます (たとえば、識別子または式のみに関心がある場合は、コメント、書式設定、および空白を無視します)。識別子、文字列、およびコメント内を検索できます。本当にやりたい場合は、完全な正規表現文字列検索オプションがあります。

これは、数千万行のコードを持つシステムで使用されており、あるケースでは、100 万を超えるファイルを含むシステムで使用されています。

于 2009-11-12T18:40:48.607 に答える
-1

おそらく、シンボルのタグ付けをサポートするエディターまたは IDE に時間とお金を投資する必要があります。ソース ツリー全体を 1 回通過してタグ付けするだけで済み、その後、エディターはインデックス検索またはマップ ルックアップを使用してシンボル定義または参照を見つけます。

タグ付けをサポートするエディターまたは IDE の例としては、Eclipse、Visual Studio、SlickEdit があります。一部の IDE では、この機能を Symbol Browser などと呼んでいる場合があります。

于 2008-09-19T23:52:46.983 に答える