2013-03-08 9 views
5

私は、ファイルがネットワークドライブに分散された、非常に大きなマルチ言語プロジェクト(1000+クラス+構成+スクリプト)を作成しています。利用可能なツールが役に立たないので、コードを巡って戦うのが難しいです。主な問題は物事を見つけることです。 C++パーツの場合:VAXを使用するVSは、ソリューション内にあるファイルとシンボルのみを検索できます。彼らの多くはそうではありません。 Reshaperと同じ問題。今すぐ私は、ネットワークドライブ上で非常に非効率なインデックスのない文字列とファイルの検索を行うことに立ち往生しています。 SourceInsightはプロジェクトの一部であるインデックスを指定するだけのフォルダを指定することができるので、SourceInsightがオプションになると聞きましたが、私の会社はそれに費やすことはありません。本当に大規模なマルチ言語プロジェクトを扱う

私の質問は、どのツールが信じられないほど大量のコードを戦うために利用できるのですか?可能であれば、それらは低コスト、あるいはフリー/オープンソースですらすべきである。

+0

ネットワークドライブ経由で配布されているファイルにアクセスするのではなく、あなたの会社でソースコード管理システム(Subversion、Git、TFSなど)を使用することを検討してください。 –

+0

そのようなシステムを使用しています。しかし、「ビュー」は決してローカルではありません。 –

+0

VSは、検索オプションを現在のドキュメントまたは現在のソリューションからディレクトリセットに変更し、1つまたは複数のネットワークパスを指定すると、すべてのネットワークロケータ可能ファイルを検索できます。ネットワークを介したファイル検索は、ローカルHD上のファイルを検索するよりも、時間がかかり、時間がかかることに注意してください。 – StarPilot

答えて

6

チェックをApacheのLuceneのインデックスのすべてのファイルのようないくつかのインデクサをインストールすることができます -

  1. ctags
  2. cscope
  3. idutils
  4. snavigator

これらのツールはいずれも、ドキュメントを読んでインデックスを作成するのに時間を費やす必要があります(*)。これらのツールで動作するエディタに切り替えることを検討してください。

(*):に投資することを意味します。なぜなら、いったんやられば配当を得るからです。

はあなたがLXRを見てみる必要があります

+0

これまでのところ、snavigatorを使用しようとしました。インデックス作成中にしばらくするとクラッシュします。次に他の人に試してみる。 –

+1

cscopeとctagsが好きなら、[CodeQuery](https://github.com/ruben2020/codequery)に興味があるかもしれません。これは、cscopeとctagsのデータベースを利用します。免責事項:私のオープンソースプロジェクトです。 – ruben2020

3

あなたが大量のコードを維持する必要がある場合は、実際にそれらの多くはあなたがすべてのファイルに

のインデックスを作成してテキストを見つけましょうそしてそれらのほとんどはで動作しますが、ソースコードの経営管理論システムを持っている必要がありますさまざまな言語。

そうしないと...

+0

会社はソースコード管理システムを使用しています。しかし、使用されているものは索引検索を提供しません。私はそれがサーバーベースのソリューションであることを私が理解する限り、ルーチンは単なるライブラリであるので、私はあなたがローカルで何かを探しています。 –

2

、このことができます願っています。これは、多くのLinuxカーネルソースリストで使用されています。

1

VSとVAXは、ソリューション内にあるファイルとシンボルのみを見つけることができます。彼らの多くはそうではありません。

ソリューションに含まれていないファイルをすべて追加して、設定でビルドしないように設定できます。あなたのVSビルドはこの影響を受けませんが、VSはそれらのファイルについて知っていて、VSネイティブファイルと一緒にそれらを検索することができます。

2

は非常に大きなコードベースを扱うためにhttp://code.google.com/p/ndexer/

約束ndexerお試しください!

+0

私はそれを試しました。現在のバージョンでは動作しませんでした。設定OKボタンをクリックすると、アプリケーションはインデックスを作成せずに終了します。 –

+0

私はプログラムの開発者に連絡しましたが、そのプログラムはネットワークドライブでは動作しません:-(。 –

2

Perlプログラムackも見てみる価値があります - ステロイドではマルチファイルgrepと考えてください。新しいバージョン(私はlate betaと呼ぶ)では、正規表現だけでなく、処理するファイルの正規表現も指定することができます。これは、それが出て以来広範囲に使用してきた機能です(私はサブプロジェクトを持っていますこの機能が非常に役立っている300以上のクラスの30kライン)。新しいackを連鎖させて処理するファイルを副選択することもできます。

+0

興味深い考えですが、私はそれを見ていますが、この解決策で見られる問題はインデックス付き検索ではないということです。だから、おそらくローカルのハードドライブではうまくいくでしょうが、ネットワークドライブ上ではまだ非常に遅いでしょう。 –

関連する問題