552 Stimmen

Zwei Dateien in Visual Studio vergleichen

Ich habe das neue Vergleichstool in Visual Studio 2012 zum Vergleichen von zwei Dateien oder zwei Versionen einer Datei gesehen. Ich mag es. Aber als ich versuchte, es zu finden, konnte ich es nicht, weil ich nicht verwenden TFS .

Gibt es eine Möglichkeit, wie ich zwei Dateien mit der integrierten Funktion in Visual Studio (aber ohne TFS) vergleichen kann?

967voto

Vladimir Reshetnikov Punkte 11128

Sie können Folgendes aufrufen devenv.exe /diff list1.txt list2.txt von der Visual Studio Developer-Eingabeaufforderung aus oder, wenn bereits eine Visual Studio-Instanz ausgeführt wird, können Sie Folgendes eingeben Tools.DiffFiles im Befehlsfenster mit einer praktischen Dateinamensvervollständigung:

Using Tools.DiffFiles from the Visual Studio Command window

141voto

Matt Punkte 23047

Inspiriert durch Antwort von Vladimir Reshetnikov oben habe ich eine sehr bequeme Möglichkeit gefunden, wie man zwei Dateien mit Visual Studio sofort vergleichen kann, indem man Ziehen und Ablegen oder über die "Senden an" Kontextmenü. Es erfordert nur ein wenig Vorbereitung, die Sie einmal durchführen müssen, und dann ist es nützlich wie ein Schweizer Taschenmesser.

Visual Studio hat bereits alles, was Sie brauchen, und es sind nur einige Konfigurationsschritte erforderlich, damit es funktioniert:

Dateivergleich per Drag & Drop

Vorbereitung:

  1. Erstellen Sie eine neue Stapeldatei mit Ihrem bevorzugten Texteditor. Geben Sie das Folgende ein:

    @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'

    Sie werden bemerken, dass ich die Reihenfolge umgekehrt habe %1 y %2 Parameter in der Charge. Das liegt daran, dass ich festgestellt habe, dass der Datei-Explorer die zweite Datei als ersten Parameter, und dann die erste Datei als zweiten Parameter.

  2. Speichern Sie diesen Code als VS_FileCompare.cmd zu verwenden, und ändern Sie vspath falls erforderlich, um den Standort von devenv.exe (abhängig von der Visual Studio-Version die Sie derzeit verwenden, siehe Fußnote *) )

  3. Entweder erstellen Sie eine Abkürzung namens "Dateivergleich" para VS_FileCompare.cmd und legen Sie sie auf die Desktop (wie in der Animation unten), so dass es jederzeit möglich ist, Dateien per Drag & Drop darauf zu ziehen oder die Batch-Datei direkt auf dem Desktop zu platzieren. Das war's schon!

Verwendung:

  1. Öffnen Sie die Windows-Explorer über Win + E

  2. Wählen Sie im Explorer zwei Dateien zum Vergleich aus

  3. Ziehen Sie sie und legen Sie sie ab, wie in der Animation unten gezeigt:

    DragDropDemo

  4. Nach ein paar Sekunden (abhängig von der Startzeit von Visual Studio) werden die Ergebnisse in Visual Studio angezeigt:

    Visual Studio View

Anmerkung: Es schadet nicht, wenn Visual Studio bereits geöffnet ist. In diesem Fall wird einfach ein neues Fenster innerhalb der laufenden Instanz von Visual Studio geöffnet. Sie können also mehrere Dateipaare vergleichen, aber bitte stellen Sie sicher, dass Sie jeweils nur zwei Dateien ausgewählt haben.


Alternative Möglichkeit: Kontextmenü Senden an

Hier ist eine Alternative, wie Sie die Batch-Datei verwenden können VS_FileCompare.cmd im obigen Abschnitt erwähnt. Es ermöglicht die Verwendung der Kontextmenüfunktion Ordner Senden an um die Dateien zu vergleichen.

Vorbereitung:

  1. Eine Verknüpfung erstellen "Compare2Files VS" für die Stapeldatei VS_FileCompare.cmd und kopieren Sie es in den Bereich Senden an Ordner. Öffnen Sie den Windows-Explorer über Win + E
  2. Öffnen Sie die Senden an Ordner durch Eingabe von shell:sendto in die Adressleiste des Datei-Explorers ein (wie beschrieben aquí ). Legen Sie dann die vorbereitete Verknüpfung in diesen Ordner.

Verwendung:

  1. Öffnen Sie die Windows-Explorer über Win + E

  2. Wählen Sie im Explorer zwei Dateien zum Vergleich aus

  3. Angenommen, die Abkürzung für die Batch-Datei VS_FileCompare.cmd heißt "Compare2Files VS" können Sie die beiden Dateien markieren, mit der rechten Maustaste anklicken und An Compare2Files VS senden um den Vergleich wie unten gezeigt aufzurufen:

    SendTo

  4. Nach ein paar Sekunden (abhängig von der Startzeit von Visual Studio) werden die Ergebnisse in Visual Studio angezeigt:

    Visual Studio View

TIPP: Wenn Ihnen die SendTo-Ordner-Methode gefällt, können Sie noch mehr tun - zum Beispiel können Sie über SendTo direkt eine Befehlsshell öffnen, die mit dem richtigen Pfad beginnt (dem Pfad, in dem sich die ausgewählte Datei befindet). Siehe hier, um herauszufinden, wie man das macht . Sie können es sogar mit dem Skript kombinieren, um erhöhte Rechte erhalten mit nur geringem Mehraufwand.


MSDN-Referenzen:


*)   Fußnote: Denn vsPath (der Pfad zu DEVENV.exe ) unterscheidet sich je nach Version von Visual Studio, ich beschreibe, wie Sie es herausfinden können (Windows 10):

  1. In der Windows-Startmenü Windows Icon Small finden Sie die Visual Studio-Symbol Visual Studio Icon Small

  2. Klicken Sie mit der rechten Maustaste, um das Kontextmenü aufzurufen. Wählen Sie Mehr Speicherort der geöffneten Datei .
    Der Windows Explorer wird geöffnet und die Verknüpfung zu Visual Studio ist markiert.

  3. Klicken Sie mit der rechten Maustaste auf das Visual Studio und wählen Sie Eigenschaften

  4. Im Eigenschaften-Dialog finden Sie den Pfad unter "Ziel:"

    VSProperties


Animationen erstellt mit Bildschirm zu gif

81voto

Jarek Kardas Punkte 8425

Sie können die VSCommands Erweiterung von Visual Studio Gallery .

En neueste Version ermöglicht es Ihnen, zwei Dateien auszuwählen und sie zu vergleichen:

Enter image description here

Enter image description here

61voto

patrick Punkte 14856

(Befehlsfenster) ( Ctrl + Alt + A ):

Tools.DiffFiles File1 File2

56voto

spottedmahn Punkte 13191

Visual Studio-Erweiterung: Datei unterscheiden por Mads Kristensen

Compare files screenshot

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X