494

Visual Studio 2012で、2つのファイルまたは2つのバージョンのファイルを比較するための新しい比較ツールを見ました。それはいいですね。しかし、 TFSを使用していないため、見つけようとしても見つかりませんでした。

Visual Studioの組み込み機能を使用して(ただしTFSを使用せずに)2つのファイルを比較する方法はありますか?

4

16 に答える 16

905

Visual Studio Developerコマンドプロンプトから呼び出すことができますdevenv.exe /diff list1.txt list2.txt。または、Visual Studioインスタンスが既に実行されている場合はTools.DiffFilesコマンドウィンドウに、便利なファイル名を入力して入力できます。

VisualStudioのコマンドウィンドウからTools.DiffFilesを使用する

于 2013-07-15T21:59:57.540 に答える
116

上記のVladimirReshetnikovの回答に触発されて、ドラッグアンドドロップまたは[送信]コンテキストメニューを使用して、2つのファイルをVisualStudioと即座に比較する非常に快適な方法を見つけました。それはあなたが一度する必要がある少しの準備を必要とするだけで、それからそれはスイスのアーミーナイフのように役に立ちます。

Visual Studioにはすでに必要なものがすべて揃っており、これを機能させるために必要な構成手順は次のとおりです。

ドラッグアンドドロップを使用したファイル比較

準備:

  1. お気に入りのテキストエディタを使用して、新しいバッチファイルを作成します。次のように入力します。

    @echo off
    setlocal
    set vspath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE
    start "Compare files" /B /MIN "%vspath%\devenv.exe" /diff %2 %1 First:'%2' Second:'%1'
    

    バッチのパラメータ%1とパラメータを逆にしたことに気付くかもしれません。これは、ファイルエクスプローラーが2番目のファイルを最初のパラメーターとして渡し、次に最初のファイル%2を2番目のパラメーターとして渡すことに気付いたためです。

  2. このコードを使用するために保存し、必要に応じての場所に一致するようVS_FileCompare.cmdに変更します(現在使用しているVisual Studioのバージョンによって異なります。脚注*を参照してください)vspathdevenv.exe

  3. 「ファイル比較」という名前のショートカットを作成してデスクトップに配置すると(下のアニメーションで使用)、ファイルをデスクトップにドラッグアンドドロップするか、バッチファイルを直接デスクトップに配置できます。それで全部です!VS_FileCompare.cmd

使用法:

  1. +を介してWindowsエクスプローラーを開きますWinE

  2. エクスプローラーで比較する2つのファイルを選択します

  3. 以下のアニメーションに示すように、それらをドラッグアンドドロップします。

    DragDropDemo

  4. 数秒後(Visual Studioの起動時間によって異なります)、結果がVisualStudioに表示されます。

    Visual Studio View

注: Visual Studioが既に開いていても、問題はありません。この場合、VisualStudioの実行中のインスタンス内で新しいウィンドウが開きます。したがって、複数のファイルペアを比較できますが、一度に2つのファイルのみを選択していることを確認してください。


別の方法:SendToコンテキストメニュー

VS_FileCompare.cmd上記のセクションで説明したバッチファイルを使用する別の方法を次に示します。コンテキストメニューの[送信]フォルダを使用してファイルを比較できます。

準備:

  1. バッチファイルのショートカット「Compare2FilesVS」を作成し、 SendToフォルダーVS_FileCompare.cmdにコピーします。+を介してWindowsエクスプローラーを開きますWinE
  2. ファイルエクスプローラーのアドレスバーに入力して、 SendToフォルダーを開きます(ここで説明します)。次に、用意したショートカットをこのフォルダに入れます。shell:sendto

使用法:

  1. +を介してWindowsエクスプローラーを開きますWinE

  2. エクスプローラーで比較する2つのファイルを選択します

  3. バッチファイルのショートカットのVS_FileCompare.cmd名前が「Compare2FilesVS」であるとすると、2つのファイルを選択し、右クリックして[送信]→[Compare2Files VS ]を選択して、次のように比較を呼び出すことができます。

    に送る

  4. 数秒後(Visual Studioの起動時間によって異なります)、結果がVisualStudioに表示されます。

    Visual Studio View

ヒント: SendToフォルダーのアプローチが好きな場合は、さらに多くのことができます。たとえば、SendToを介してコマンドシェルを直接開くことができ、正しいパス(選択したファイルが存在するパス)から始まります。その方法については、こちらをご覧ください。少し余分な労力をかけるだけで、スクリプトと組み合わせて昇格された権利を取得することもできます。


MSDNリファレンス:


*) 脚注:(vsPathへのパス)はVisual Studioのバージョンによって異なるためDEVENV.exe、それを見つける方法を説明しています(Windows 10):

  1. Windows のスタートメニューで、VisualStudioアイコンWindowsアイコンスモールを見つけます VisualStudioアイコン小

  2. 右クリックしてコンテキストメニューを表示します。[その他][ファイルの場所を開く]を選択します。
    Windowsエクスプローラーが開き、VisualStudioのショートカットが強調表示されます。

  3. Visual Studioを右クリックして、[プロパティ]を選択します

  4. プロパティダイアログで、 「ターゲット:」にパスを見つけることができます。

    VSProperties

于 2017-08-16T13:14:13.577 に答える
80

VisualStudioGalleryからVSCommands拡張機能を試すことができます。

最新のリリースでは、2つのファイルを選択して比較できます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2012-12-06T22:29:12.940 に答える
49

(コマンドウィンドウ)(Ctrl+ Alt+ A):

Tools.DiffFiles File1 File2
于 2018-02-21T21:37:01.330 に答える
31

Visual Studio拡張機能:MadsKristensenによるファイルの違い

ファイルのスクリーンショットを比較する

于 2019-06-06T19:27:25.257 に答える
25

私は常にオープンソースプロジェクトであるWinMergeのファンでした。VisualStudioにかなり簡単に接続できます。

http://blog.paulbouwer.com/2010/01/31/replace-diffmerge-tool-in-visual-studio-team-system-with-winmerge/

これを行う方法を示します

于 2012-12-06T21:38:43.443 に答える
24

CompareFilesと呼ばれるVisualStudio拡張機能もあります。これは、ソリューションエクスプローラーのコンテキストメニューに[ファイルの比較]エントリを追加するだけです。組み込みのVisualStudiodiffツールを呼び出します。

誰か(私のような)がVSCommandsのようなオールインワン拡張機能をインストールしたくない場合に備えて...

于 2013-06-12T07:25:35.390 に答える
18

Visual Studio 2012、2013、2015では、WebEssentialsを使用してこれを行うこともできます。ファイルを右クリックして、コンテキストメニュー→ Web Essential選択したファイルの差分から:

ここに画像の説明を入力してください

別の拡張機能としても利用できます。

于 2015-09-17T09:29:34.467 に答える
17

Visual Studio 2019の場合、File Differプラグインを使用すると、個別のプロジェクトのファイルを比較できます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここからインストールできます:

ここに画像の説明を入力してください

年:

Visual Studio 2017の場合は、* [FileComparer2017][4]*をインストールします

問題は、異なるプロジェクトのファイルを比較できないことですが、同じプロジェクトのファイルをコピーして比較することはできます...

ファイルの違い

于 2018-07-21T19:51:10.757 に答える
15

Visual Studioがインストールされている場合は、

"%VS110COMNTOOLS%..\IDE\vsdiffmerge.exe" "File1" "File2"

またはVisualStudio2013の場合:

"%VS120COMNTOOLS%..\IDE\vsdiffmerge.exe" "File1" "File2"

出典:ローカルファイルの差分およびマージツールとしてVisualStudioを使用する

于 2014-10-31T18:25:13.237 に答える
6

Visual Studioでは、diffはCommand WindowTools.DiffFilesコマンドを使用して呼び出すことができます。

  1. Command WindowホットキーCtrl+Wで開くAか、メニューで[表示] → [その他のウィンドウ] → [コマンドウィンドウ]を開きます
  2. コマンドを入力してくださいTools.DiffFiles "FirstFile.cs" "SecondFile.cs"
于 2020-03-06T12:48:43.263 に答える
2

私もこの問題を抱えていました。TFSはありませんが、「ファイルタイプとファイル比較ツールの関連付け」という記事が役に立ちました。

具体的には、ステップ1b。

Visual Studioコマンドプロンプトを開き、Common7/IDEフォルダーに移動して次のように入力します。

tf diff /configure
于 2013-05-05T14:59:40.023 に答える
0

仕事を成し遂げる優れた軽量ツールは、AkhilMittalによるFileComparerVisualStudio拡張機能です。

于 2016-11-03T19:53:32.057 に答える
0

2つのファイルを比較して1つのファイルにマージするには、Visual Studio(任意のバージョン)がインストールされている場合に実行できる次の手順を次に示します。

手順1: VisualStudioコマンドプロンプトを開きます。Visual Studioコマンドプロンプトが見つからない場合は、VisualStudioツールを選択してください

スタート→VisualStudioコマンドプロンプト

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ステップ2:コマンドvsdiffmerge.exeを入力します

比較だけが必要な場合は、スイッチ/mを無視してください。

構文1:

vsdiffmerge <file1> <file2> <file1> <outputfile> /t /m

構文2:

vsdiffmerge <basefilename> <CompareFilename> <basefilename> <OutputFilename> /t /m

例1:

vsdiffmerge test1.js test2.js test1.js output.js /t /m

例2:

vsdiffmerge.exe "C:\Users\livingston\Downloads\wa\wa\Files\pre\Test.js" "C:\Users\livingston\Downloads\wa\wa\Files\Prod\Test.js" "C:\Users\livingston\Downloads\wa\wa\Files\pre\Test.js" "C:\Users\livingston\Downloads\wa\wa\Files\output\samp.js" /t /m

ここに画像の説明を入力してください

ステップ3:ファイルをマージする

ここに画像の説明を入力してください

その場所にファイル名が存在しない場合、比較ツールは開かないことに注意してください。

また、比較を行う前にファイルを美化することもできます。Visual Studioでは、Ctrl++ KD

オンラインで利用できる美容サイトはたくさんあります。

于 2018-01-19T07:04:06.933 に答える
0

ローカライズされた言語でVisualStudioを使用する場合、コマンドウィンドウで作成するコマンドもローカライズする必要があります。たとえば、私のVS2019はポルトガル語なので、次のコマンドを作成する必要があります。

Ferramentas.CompararArquivos

ここに画像の説明を入力してください

コマンドウィンドウ(私の場合はJanela de Comando)は、[表示]>[その他のウィンドウ]>[コマンドウィンドウ]、または私の場合は[Exibir]> [Outras Janelas]> [Janela deComando]のメニューから表示できます。

ここに画像の説明を入力してください

于 2022-03-02T13:37:24.253 に答える
-2

これは、Visual Studio 2012の優れた拡張機能の1つであると思います。これは、コード比較と呼ばれ、ここにあります。

于 2014-09-15T14:42:23.953 に答える