Visual Studio에서 두 파일 비교


429

VS 2012에서 두 파일 또는 두 버전의 파일을 비교하는 새로운 비교 도구를 보았습니다. 나는 그것을 좋아한다. 그러나 TFS를 사용하지 않기 때문에 찾을 수 없었습니다. VS의 내장 기능과 TFS가없는 두 파일을 비교하는 방법이 있습니까?


1
추가 사용을위한 주석과 마찬가지로 : vs2015를
Elnaz

참고 이 따라서, 내가 제공 한 여전히 VS 2017에 적용됩니다 답변을 편안하게이 문제를 처리하는 방법에 대해 설명합니다.
Matt

2
답은 Visual Studio에서 이미 열린 두 파일을 비교할 수 없습니다 .
user3454439


VS2017 및 VS2019에서는 파일 비교 도구 모음이 열려있어 사용 방법을 모릅니다 ... 지금 VSCode를 사용하여 두 파일을 열고 컨텍스트 메뉴-> 비교를 선택하십시오.
jw_

답변:


808

devenv.exe /diff list1.txt list2.txt명령 프롬프트에서 호출 하거나 Visual Studio 인스턴스가 이미 실행중인 Tools.DiffFiles경우 편리한 파일 이름 완성을 사용하여 명령 창에 입력 할 수 있습니다 .

Visual Studio 명령 창에서 Tools.DiffFiles 사용


15
이 diff 도구는 왼쪽에서 복사, 오른쪽으로 복사 등과 같은 유용한 기능을 제공합니까? 서버 버전으로 작업 사본을 비교할 때 때때로 일부 변경 사항을 취소하고 수동 사본 붙여 넣기를 수행해야합니다.
사무엘

118
이 기능이 VS UI에서 숨겨진 이유는 무엇입니까? 이것은 두 파일을 비교하는 가장 쉽고 효과적인 방법입니다.
eka808

76
Visual Studio를 처음 사용하는 사용자의 경우보기> 다른 창> 명령 창 (VS Pro 2013)으로 이동하거나 CTRL + ALT + A를 사용하여 명령 창을 열 수 있습니다.
Cleanshooter

35
그런 수치심 VS에는 매우 기본적인 기능에 대한 메뉴 항목이 없습니다. 많은 IDE / 편집기가합니다.
dewd

15
참고 : Visual Studio 2015의 경우 보기-> 도구 모음-> 파일 비교 에서 찾을 수 있습니다 . 빠른 실행 창에 "비교"를 입력하면 추가됩니다.
Matt

84

위의 대답에서 영감을 얻어 드래그 앤 드롭을 사용 하거나 "보내기" 컨텍스트 메뉴 통해 두 파일을 Visual Studio와 즉시 비교할 수있는 매우 편안한 방법을 찾았습니다 . 한 번만하면되는 작은 준비 만하면 스위스 군용 칼처럼 유용합니다.

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.이 코드 VS_FileCompare.cmd를 사용하도록 저장하고 vspath필요한 경우 위치를 일치하도록 수정 합니다 devenv.exe( 현재 사용중인 Visual Studio 버전 에 따라 각주 * 참조 ) )

3. "파일 비교" 라는 바로 가기 를 만들고 배치하십시오. 그것에VS_FileCompare.cmd 바탕 화면(아래 애니메이션에 사용됨) 파일을 끌어서 놓거나 배치 파일을 데스크탑에 직접 배치 할 수 있습니다. 그게 다야!

용법:

  1. + 를 통해 Windows 탐색기 를 엽니 다WinE
  2. 탐색기에서 비교할 두 파일을 선택하십시오.
  3. 아래 애니메이션과 같이 드래그 앤 드롭하십시오. DragDropDemo

  4. Visual Studio의 시작 시간에 따라 몇 초 후에 Visual Studio에 결과가 표시됩니다. 비주얼 스튜디오 뷰

참고 : Visual Studio가 이미 열려 있으면 해가되지 않습니다. 이 경우 실행중인 Visual Studio 인스턴스 내에서 새 창이 열립니다. 따라서 여러 파일 쌍을 비교할 수 있지만 한 번에 2 개의 파일 만 선택했는지 확인하십시오.


다른 방법 : SendTo 컨텍스트 메뉴

VS_FileCompare.cmd위 섹션에서 언급 한 배치 파일을 사용하는 방법은 다음과 같습니다 . 상황에 맞는 메뉴의 보내기 폴더를 사용하여 파일을 비교할 수 있습니다.

예비:

  1. 배치 파일에 대한 "Compare2Files VS" 바로 가기 VS_FileCompare.cmd를 만들어 SendTo 폴더에 복사하십시오 . + 를 통해 Windows 탐색기 를 엽니 다WinE
  2. 파일 탐색기의 주소 표시 줄 에 입력 하여 SendTo 폴더 shell:sendto를여십시오 ( 여기에 설명되어 있음 ). 그런 다음 준비된 바로 가기를이 폴더에 넣습니다.

용법:

  1. + 를 통해 Windows 탐색기 를 엽니 다WinE
  2. 탐색기에서 비교할 두 파일을 선택하십시오.
  3. 배치 파일의 바로 가기 VS_FileCompare.cmd이름이 "Compare2Files VS" 라고 가정하면 두 파일을 마우스 오른쪽 단추로 클릭하고 보내기-> Compare2Files VS 를 선택하여 아래와 같이 비교를 호출 할 수 있습니다. 보내기

  4. Visual Studio의 시작 시간에 따라 몇 초 후에 Visual Studio에 결과가 표시됩니다. 비주얼 스튜디오 뷰


MSDN 참조 :
- DIFF 창 사용
- 비주얼 스튜디오의 DIFF 매개 변수


*)  각주 : 때문에 vsPath에 (경로 DEVENV.exe) 다릅니다 비주얼 스튜디오의 버전에 따라, I)는 (윈도우 10를 찾을 수있는 방법을 설명하고있다 :

  1. 에서 윈도우 시작 메뉴 Windows 아이콘 스몰 의 위치를 비주얼 스튜디오 아이콘을 Visual Studio 아이콘 작은
  2. 마우스 오른쪽 버튼을 클릭하여 상황에 맞는 메뉴를 불러옵니다. 추가> 파일 위치 열기를 선택하십시오 .
    Visual Studio 바로 가기가 강조 표시된 Windows 탐색기가 열립니다.
  3. Visual Studio를 마우스 오른쪽 단추로 클릭하고 속성을 선택하십시오.
  4. 속성 대화 상자의 "대상 :"에 경로가 있습니다 . VS 재산

5
이것은 실제로 매우 훌륭하고 정교한 답변이므로 반드시 투표해야합니다. 나는 답변이 스레드로 표시되어 있어도 상자 답변에서 계속 찾고있는 그룹 출신이므로 절대적으로 그것을 포기하고 있습니다.
Div Tiwari

1
@DivTiwari-감사합니다.
Matt

편집 : 이것은 VS 2013의 스크립트입니다. 다시 감사드립니다. @echo off setlocal set vspath = C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE "파일 비교"시작 / B / MIN "% vspath % \ devenv.exe"/ diff % 2 % 1 먼저 : '% 2'두 번째 '% 1'
페르난도 아길라

1
그것은 훌륭했고 매력처럼 일했습니다. 많은 친구 감사합니다
Sabbir Hassan

1
좋은! 이 솔루션의 '해킹'특성을 좋아합니다. 공유해 주셔서 감사합니다.
레오 Gurdian


24

저는 항상 오픈 소스 프로젝트 인 WinMerge의 팬이었습니다. Visual Studio에 상당히 쉽게 연결할 수 있습니다.

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

이 작업을 수행하는 방법을 보여줄 것입니다


또한 폴더를 diff 할 수 있습니다 – 매우 강력 함
Jaans

2
WinMerge의 유일한 단점은 변경 사항 (예 : 공백, 더 많은 줄로 나뉘어 진 줄 등)을 인식 할 수있는 제한적인 제한입니다.

24

또한 CompareFiles 라는 Visual Studio 확장이 있습니다.이 파일은 솔루션 탐색기 컨텍스트 메뉴에 "파일 비교"항목을 추가하는 것 외에는 아무것도하지 않습니다. 기본 제공 Visual Studio diff 도구를 호출합니다.

누군가 (나 같은 사람)가 VSCommands와 같은 올인원 확장 프로그램을 설치하고 싶지 않은 경우 ...


1
NB-이 확장은 VS2012 전용이지만 VS2013을 충분히 지원하도록 매니페스트 파일을 편집 할 수 있습니다. 자세한 내용은 확장의 Q & A 탭에 대한 내 의견을 참조하십시오. (이 기능을 원했지만 라이센스로 인해 직장에서 무료 버전의 VSCommand를 사용할 수 없습니다)
James S

Visual Studio를 비교 도구는 2013 사용할 수 있습니다 visualstudiogallery.msdn.microsoft.com/...
정렬

23

VS2019->View->Other Windows->Command Window (Ctrl + Alt + A)

Tools.DiffFiles File1 File2

이것은 다른 답변과 같습니다
niico

5
어쩌면-개인적으로 GUI를 사용하여 파일을 선택하는 것보다 파일을 선택하는 것이 어쨌든 두 가지 경로를 구성해야합니다.
niico

18

Visual Studio 2012, 2013, 2015에서는 Web Essentials를 사용 하여 수행 할 수도 있습니다. 하여 파일을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴> Web Essential >> 선택한 파일 차이에서 있습니다.

편집 : 이제 별도의 확장으로 사용할 수 있습니다

여기에 이미지 설명을 입력하십시오


Web Essential-VS 2015에서 선택한 파일의 Diff 또는 HTML로 컴파일 컴파일이 표시되지 않습니다
usefulBee

새 버전을 설치 VS 2015했지만 Diff selected files왜 옵션 을 볼 수 없습니까?
shaijut

@stom 내가 언급 한 확장을 설치하십시오.
Hamid Mosalla

16

VS가 설치되어 있으면 전화를 걸 수도 있습니다.

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

또는 VS 2013

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

출처 : http://roadtoalm.com/2013/10/22/use-visual-studio-as-your-diff-and-merging-tool-for-local-files/


고마워 저에게 완벽하게 일했습니다. c : \ temp> "% VS120COMNTOOLS % .. \ IDE \ vsdiffmerge.exe"1256.txt 1256_PROD_Original.txt
Craig B

8

에서 의 Visual Studio 코드 당신이 할 수있는 :

  • 로 이동 Explorer
  • 비교하려는 첫 번째 파일을 마우스 오른쪽 버튼으로 클릭하십시오.
  • 고르다 Select for compare
  • 비교하려는 두 번째 파일을 마우스 오른쪽 버튼으로 클릭하십시오.
  • 고르다 Compare with '[NAME OF THE PREVIOUSLY SELECTED FILE]'

이것은 언급 한 것처럼 Visual Studio Code에서 훌륭하게 작동하지만 슬프게도 Visual Studio Enterprise (또는 Professional)에서는 그렇지 않습니다.
Eptin


4

업데이트 : VS 2019 File Differ Plugin의 경우 별도의 proyect에서 파일을 비교할 수 있습니다. 여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에서 설치할 수 있습니다.

여기에 이미지 설명을 입력하십시오

이전 : VS 2017의 경우 https://marketplace.visualstudio.com/items?itemName=vs-publisher-457497.FileComparer2017 설치

문제는 다른 proyects에서 파일을 비교할 수 없지만 동일한 프로젝트에서 파일을 복사하여 비교할 수 있다는 것입니다.

파일 차이


1
안타깝게도 솔루션없이 두 파일을 비교하려고 할 때 작동하지 않습니다 (예 : 폴더 모드에서 VS2017을 열 때 : 열기-폴더)
Yury Kozlov


0

Akhil Mittal의 파일 비교기 VS 확장자. 작업을 수행하는 뛰어난 경량 도구.


0

두 파일을 비교하여 하나의 파일로 병합 다음은 Visual Studio (Any 버전)가 설치된 경우 수행 할 수있는 다음 단계입니다.

1 단계 : Visual Studio 명령 프롬프트를 엽니 다. Visual Studio 명령 프롬프트를 찾지 못하면 Visual Studio 도구를 선택하십시오.

시작-> Visual Studio 명령 프롬프트

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

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 \ 다운로드 \ wa \ wa \ Files \ output \ samp.js "/ t / m

여기에 이미지 설명을 입력하십시오


3 단계 : 파일 병합

여기에 이미지 설명을 입력하십시오 파일 이름이 해당 위치에 없으면 비교기를 열지 않습니다 .

또한 비교하기 전에 파일을 아름답게 꾸밀 수 있습니다. Visual Studio에서 Ctrl + K + D

온라인으로 이용할 수있는 많은 미용사 사이트가 있습니다.


0

Visual Studio 코드는 이것을 위해 좋습니다-폴더를 열고 두 파일을 마우스 오른쪽 버튼으로 클릭하고 비교하십시오.


0

Visual Studio에서 Diff는 Command Window다음 Tools.DiffFiles명령을 사용하여 호출 할 수 있습니다

  1. Command Window단축키 Ctrl + W, A또는 메뉴로 열기View -> Other Windows -> Command Window
  2. 명령을 입력 Tools.DiffFiles "FirstFile.cs" "SecondFile.cs"


-4

연결된 TFS로 작업하는 경우 (소스 제어 탐색기를 통해) 비교 해야하는 파일을 마우스 오른쪽 버튼으로 클릭하면 다음과 같은 창이 나타납니다- 여기에 이미지 설명을 입력하십시오

이제 'Souce Path :'에서 소스 파일의 경로를 변경하면 VS 비교 도구를 통해 비교할 수 있습니다.

마찬가지로 폴더의 모든 파일을 한 번에 비교하는 폴더도 비교할 수 있습니다.


2
원래 게시물을 읽으면 "VS에 내장 기능이 있지만 TFS가없는 두 파일을 어떻게 비교할 수 있습니까?" 당신의 대답은 그에게 TFS가 필요합니다.
CigarDoug

그는 대답하려고 시도했지만 .. 그의 시도는 잘못되었습니다 +1
Irf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.