Сравните два файла в Visual Studio

Я видел новый инструмент сравнения в VS 2012 для сравнения двух файлов или двух версий файла. Мне это нравится. Но когда я пытался найти его, я не могу, потому что не использую TFS. Есть ли способ, как я могу просто сравнить два файла со встроенной функцией в VS, но без TFS?

Ответ 1

Вы можете вызвать devenv.exe /diff list1.txt list2.txt из командной строки или, если экземпляр Visual Studio уже запущен, вы можете ввести Tools.DiffFiles в окне командной строки с завершением успешного имени файла:

Using Tools.DiffFiles from Visual Studio Command window

Ответ 3

Вдохновленный принятым ответом выше, я нашел очень удобный способ, позволяющий мгновенно сравнивать два файла в 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-й файл в качестве первого параметра, а затем 1-й файл в качестве второго параметра.

  1. Сохраните этот код как VS_FileCompare.cmd чтобы использовать его, измените vspath если требуется, чтобы он соответствовал расположению devenv.exe (в зависимости от используемой в данный момент версии Visual Studio, см. Сноску *))

  2. Либо создайте ярлык с именем "Сравнение файлов" для VS_FileCompare.cmd и поместите его на рабочий стол (как VS_FileCompare.cmd в приведенной ниже анимации), чтобы всегда было доступно перетаскивание файлов на него или непосредственное размещение пакетного файла на рабочем столе. Все это!

Использование:

  1. Откройте проводник Windows через Win + E
  2. Выберите два файла для сравнения в проводнике
  3. Перетащите их, как показано на анимации ниже: DragDropDemo

  4. Через несколько секунд (в зависимости от времени запуска Visual Studio) результаты будут показаны в Visual Studio: Visual Studio View

Примечание. Это не повредит, если Visual Studio уже открыта. В этом случае он просто откроет новое окно в работающем экземпляре Visual Studio. Таким образом, вы можете сравнить несколько пар файлов, но убедитесь, что вы выбрали только 2 файла одновременно.


Альтернативный способ: контекстное меню SendTo

Вот альтернативный способ использования командного файла VS_FileCompare.cmd упомянутый в разделе выше. Позволяет использовать контекстное меню "Отправить в папку" для сравнения файлов.

Приготовление:

  1. Создайте ярлык "Compare2Files VS" для командного файла VS_FileCompare.cmd и скопируйте его в папку SendTo. Откройте проводник Windows через Win + E
  2. Откройте папку SendTo, введя shell:sendto в адресную строку проводника файлов (как описано здесь). Затем поместите подготовленный ярлык в эту папку.

Использование:

  1. Откройте проводник Windows через Win + E
  2. Выберите два файла для сравнения в проводнике
  3. Предполагая, что ярлык для командного файла VS_FileCompare.cmd называется "Compare2Files VS", вы можете выбрать два файла, щелкнуть правой кнопкой мыши и выбрать " Отправить в → Compare2Files VS", чтобы вызвать сравнение, как показано ниже: SendTo

  4. Через несколько секунд (в зависимости от времени запуска Visual Studio) результаты будут показаны в Visual Studio: Visual Studio View


Ссылки MSDN:
- Использование diff окна
- Параметр Visual Studio Diff


*)Сноска. Поскольку vsPath (путь к DEVENV.exe) различается в зависимости от вашей версии Visual Studio, я описываю, как вы можете это выяснить (Windows 10):

  1. В меню "Пуск" Windows Windows Start найдите значок Visual Studio
  2. Щелкните правой кнопкой мыши, чтобы вызвать контекстное меню. Выберите Дополнительно> Открыть местоположение файла.
    Проводник Windows открывается с выделенным ярлыком Visual Studio.
  3. Щелкните правой кнопкой мыши Visual Studio и выберите " Свойства".
  4. В диалоговом окне свойств вы можете найти путь в "Target:" VSProperties

Ответ 5

Существует также расширение Visual Studio под названием CompareFiles, которое ничего не делает, кроме добавления записи "Сравнить файлы" в контекстное меню браузера решения. Он вызывает встроенный инструмент сравнения Visual Studio.

На всякий случай, что кто-то (как и я) не хочет устанавливать универсальное расширение, такое как VSCommands...

Ответ 6

В Visual Studio 2012, 2013, 2015 вы также можете сделать это с помощью Web Essentials, просто щелкнув правой кнопкой мыши по файлам и в контекстном меню> Web Essential >> Разблокировать выбранные файлы:

Изменить: теперь доступно как отдельное расширение

enter image description here

Ответ 8

Command Window (CTRL + ALT + A)

Tools.DiffFiles File1 File2

Ответ 10

У меня тоже была эта проблема. Нет TFS, но я нашел эту статью полезной.

В частности, шаг 1b.

Откройте командную строку Visual Studio и перейдите в папку Common7/IDE и введите

tf diff /configure

Ответ 11

В Код Visual Studio вы можете:

  • Перейдите к Explorer
  • Щелкните правой кнопкой мыши первый файл, который вы хотите сравнить.
  • Выберите Select for compare
  • Щелкните правой кнопкой мыши второй файл, который вы хотите сравнить.
  • Выберите Compare with '[NAME OF THE PREVIOUSLY SELECTED FILE]'

Ответ 12

Расширение File Comparer VS от Akhil Mittal. Отличный легкий инструмент, который выполняет свою работу.

Ответ 13

Чтобы сравнить любые два файла и объединить их в один файл Вот следующие шаги, которые вы можете выполнить, если у вас установлена Visual Studio (любая версия).

Шаг 1: Откройте командную строку Visual Studio. Если вы не нашли командную строку Visual Studio, выберите инструменты Visual Studio.

Пуск → Командная строка Visual Studio

enter image description here

enter image description here

Шаг 2: введите команду vsdiffmerge.exe

Игнорируйте переключатель /m, если вам нужно только сравнение.

Синтаксис 1:
vsdiffmerge <файл1> <файл2> <файл1> <выходной файл>/т/м

Синтаксис 2:
vsdiffmerge <имя_файла_файла> <имя_файла сравнения> <имя_файла_базы_файлов> <имя_файла_файла>/т/м

Пример 1:
vsdiffmerge test1.js test2.js test1.js output.js/т/м
Пример 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 "/т/м

enter image description here


Шаг 3: объединить файлы

enter image description here Обратите внимание, что если имя файла не существует в этом месте, оно не откроет средство сравнения.

Также вы можете украсить файл, прежде чем делать сравнение. В визуальной студии Ctrl + K + D.

Есть много красивых сайтов, доступных в Интернете.

Ответ 15

Код Visual Studio отлично подходит для этого - откройте папку, щелкните правой кнопкой мыши оба файла и сравните.

Ответ 16

Я считаю, что это одно из лучших расширений для Visual Studio 2012, оно называется Code Compare и может быть найдено здесь.

Ответ 17

Если вы работаете с подключенным TFS, щелкните правой кнопкой мыши файл, который вам нужно сравнить (через проводник управления версиями), и он представляет вам такое окно - enter image description here

Теперь измените путь исходного файла в 'Souce Path:', и вы получите сравнение с помощью инструмента сравнения VS.

Аналогичным образом вы можете сравнить папку, которая одновременно сравнивает все файлы в папке.