visual-studio 소스 - Visual Studio에서 두 파일 비교




비주얼 스튜디오 (14)

또한 CompareFiles 라는 Visual Studio 확장이 CompareFiles , 다른 것은 수행하지 않고 솔루션 탐색기 컨텍스트 메뉴에 "파일 비교"항목을 추가합니다. 내장 된 Visual Studio diff 도구를 호출합니다.

누군가가 (나 같은) VSCommands와 같은 올인원 확장 기능을 설치하고 싶지 않을 경우를 대비해서 ...

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


저는 이것을 Visual Studio 2012의 더 나은 확장 기능 중 하나라고 생각합니다.이 기능은 Code Compare라고하며 here. 에서 찾을 수 here.


Visual Studio 코드에서 다음을 수행 할 수 있습니다.

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

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


Visual Studio 2012, 2013, 2015에서는 Web Essentials 에서 파일을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴> 웹 필수> Diff 선택한 파일 :

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


Akhil Mittal의 File Comparer VS 확장. 일을 끝내는 우수한 경량의 도구.



연결된 TFS로 작업하는 경우 (소스 제어 탐색기를 통해) 비교할 파일을 마우스 오른쪽 단추로 클릭하면 다음과 같은 창이 나타납니다 -

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

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



위의 대답에 영감을 받아 필자는 끌어서 놓기 또는 컨텍스트 메뉴의 "보내기" 를 통해 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 매개 변수를 바꾼 것을 볼 수 있습니다. 이것은 파일 탐색기가 두 번째 파일 을 첫 번째 매개 변수로 전달한 다음 첫 번째 파일 을 두 번째 매개 변수로 전달했기 때문입니다.

  1. 이 코드를 VS_FileCompare.cmd 로 저장하여 사용하고 devenv.exe 의 위치와 일치하도록 vspath 수정합니다 (현재 사용중인 Visual Studio 버전에 따라 다름). *)

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

용법:

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

  4. Visual Studio의 실행 시간에 따라 몇 초가 지나면 결과가 Visual Studio에 표시됩니다.

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

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

배치 파일을 사용하는 방법에 대한 대안이 있습니다. 컨텍스트 메뉴의 보내기 폴더를 사용하여 파일을 비교할 수 있습니다.

예비:

  1. 바로 가기를 SendTo 폴더에 놓습니다. Win + E 를 통해 Windows 탐색기 열기
  2. shell:sendto 를 파일 탐색기의 주소 표시 줄에 입력하여 SendTo 폴더를 엽니 다 ( here 에서 설명한대로). 그런 다음 준비된 바로 가기를이 폴더에 넣습니다.

용법:

  1. Win + E 를 통해 Windows 탐색기 열기
  2. 탐색기에서 비교할 두 파일 선택
  3. 바로 가기의 이름이 "Compare2Files VS"인 경우 두 파일을 선택하고 마우스 오른쪽 단추를 클릭하고 보내기 -> Compare2Files VS 를 선택하여 아래와 같이 비교를 호출 할 수 있습니다.

  4. Visual Studio의 실행 시간에 따라 몇 초가 지나면 결과가 Visual Studio에 표시됩니다.

MSDN 참고 자료 :
- visualstudio.com/en-us/docs/tfvc/compare-files
- Visual Studio의 Diff 매개 변수

*) vsPath ( vsPath 대한 경로)는 사용중인 Visual Studio의 버전에 따라 다르 DEVENV.exe , 어떻게 찾을 수 있는지 설명하고 있습니다 (Windows 10).

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

Command Window ( Ctrl + Alt + A )

Tools.DiffFiles File1 File2

두 파일을 비교하고 하나의 파일에 병합하려면 다음을 수행하십시오. Visual Studio (모든 버전)가 설치된 경우 따라야 할 단계는 다음과 같습니다.

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

시작 -> 비주얼 스튜디오 명령 프롬프트

2 단계 : vsdiffmerge.exe 명령을 입력하십시오.

단지 비교가 필요하면 스위치 / m을 무시하십시오.

구문 1 :
vsdiffmerge <파일 1> <파일 2> <파일 1> <출력 파일> / 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" \ 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 + K + D.

온라인에서 사용할 수있는 미화 사이트가 많이 있습니다.



파일을 여는 경우 다음 기술 중 하나를 사용할 수 있습니다.

>>> with open('somefile', 'xt') as f: #Using the x-flag, Python3.3 and above
...     f.write('Hello\n')

>>> if not os.path.exists('somefile'): 
...     with open('somefile', 'wt') as f:
...         f.write("Hello\n")
... else:
...     print('File already exists!')

최신 정보

그냥 혼란을 피하기 위해 내가 가진 대답을 기반으로, 현재 답변은 주어진 이름 으로 파일 이나 디렉토리를 찾습니다 .





visual-studio file compare comparison diff