2

C# をうまく処理できる優れたファイル比較ユーティリティをお勧めできますか。WinMerge、BeyondCompare、KDiff の両方を試しましたが、十分ではありません。たとえば、同じ名前の関数がファイルの異なる領域に配置されている場合、それらは違いとして表示されます。

4

5 に答える 5

3

現時点 (2015 年 4 月) では、C# コード ファイルの構造を考慮して高度な差分を作成し、コード ファイル間でマージする商用比較ツールが少なくとも 3 つあります。

これら 3 つのツールは、有料版 (または試用期間) でのみ、この種の高度な比較をサポートしています。私の知る限り、これを行うことができる無料のツールはありません。

于 2015-04-23T09:39:57.763 に答える
1

これを実行できる可能性があることを私が認識している唯一のツール (できるかどうかはわかりません) はGitです。

私の知る限り、関数が別のファイルに移動されても追跡できるため、このシナリオで使用しても違いはありません。

詳細については、この回答を参照してください。

于 2010-01-27T11:15:38.730 に答える
1

このタスクにはDevart CodeCompareを使用しています。ネイティブの VS エディターにより、C# と VB をうまく処理できます。彼らはこの機能を「構造比較」と呼んでいます。それはあなたにとって役に立ちます。

于 2010-10-08T13:39:54.790 に答える
1

[更新 (2015) : この回答を書いて以来、さまざまな言語のコードの構造的および意味的なマージと差分を実行できる最新のツールが増えました。いくつかの例については、 JotaBe の回答を参照してください]

元の回答 (2010) : 残念ながら、それは Diff の性質の一種です。これは常に行ごとの比較であり、言語を意識した比較ではありません。私が知る限り、あなたが求めていることを実行するものは何もありません (ただし、私が間違っている可能性は常にあります)。

比較を行う前に、 regionerateなどのツールを使用してクラス レイアウトを標準化できます。これにより、すべてのメソッドが順序付けられるため、同じ名前のメソッドがファイル内の異なる場所にあるという問題は発生しません。

于 2010-01-27T11:09:19.373 に答える
0

これを行うテキスト比較ユーティリティを見つけることはないと思います。関数を再編成して、同じ場所に配置することをお勧めします。デザイナーが生成したコードがこれを行うのを見たことがあります (つまり、ファイルが再生成されるたびに関数を移動します)。面倒ですが、あなたがそれを回避するつもりはないと思います。BeyondCompare は、最高の比較ユーティリティの 1 つです。

于 2010-01-27T11:07:54.340 に答える