Visual Studio में दो फ़ाइलों की तुलना करें


429

मैंने वीएस 2012 में दो फाइल या दो संस्करणों की तुलना करने के लिए नया कंप्रेशर टूल देखा। मुझें यह पसंद है। लेकिन जब मैंने इसे खोजने की कोशिश की तो मैं नहीं कर सकता क्योंकि मैं टीएफएस का उपयोग नहीं करता। क्या कोई तरीका है कि मैं वीएस में बिल्ट फीचर के साथ दो फाइलों की तुलना कैसे कर सकता हूं लेकिन बिना टीएफएस के?


1
आगे के उपयोग के लिए टिप्पणी के रूप में: यदि आप vs2015 के साथ काम कर रहे हैं, तो इस लिंक का उपयोग करें: visualstudio.com/en-us/docs/tfvc/compare-files
Elnaz

ध्यान दें कि यह अभी भी वीएस 2017 के लिए लागू है। इसलिए, मैंने इस मुद्दे से आराम से निपटने के लिए एक उत्तर प्रदान किया है।
मैट

2
कोई भी उत्तर दृश्य स्टूडियो में पहले से खोली गई दो फाइलों की तुलना नहीं कर सकता है ।
user3454439

1
कृपया इस सुविधा के लिए यहाँ वोट करें: developercommunity.visualstudio.com/content/idea/619706/…
Happypig375

VS2017 और VS2019 में, यहां तक ​​कि तुलना फ़ाइल टूलबार खुला है, इसका उपयोग करने का तरीका नहीं जानते ... अब VSCode का उपयोग करते हुए, बस दो फाइलें खोलें और दोनों का चयन करें और संदर्भ मेनू-> चयनित की तुलना करें।
jw_

जवाबों:


808

आप devenv.exe /diff list1.txt list2.txtकमांड प्रॉम्प्ट से इनवॉइस कर सकते हैं या यदि कोई विजुअल स्टूडियो इंस्टेंस पहले से चल रहा है, तो आप Tools.DiffFilesकमांड विंडो में टाइप कर सकते हैं।

Visual Studio कमांड विंडो से Tools.DiffFiles का उपयोग करना


15
क्या यह अलग-अलग उपकरण किसी भी उपयोगी सुविधा जैसे कॉपी को बाईं ओर, कॉपी को राइट, आदि प्रदान करता है? जब मैं सर्वर संस्करण के साथ काम की कॉपी को अलग करता हूं तो मैं कभी-कभी कुछ परिवर्तनों को पूर्ववत करना चाहता हूं और मैनुअल कॉपी पेस्ट करना पड़ता है।
शमूएल

118
यह सुविधा VS UI से क्यों छिपाई गई है? यह दो फाइलों की तुलना करने का सबसे आसान और प्रभावी तरीका है ...
eka808

76
आपमें से जो विजुअल स्टूडियो में नए हैं, उनके लिए कमांड विंडो को खोला जा सकता है: व्यू> अन्य विंडोज> कमांड विंडो (वीएस प्रो 2013) या सीटीआरएल + एएलटी + ए के साथ
क्लीनशूटर

35
इस तरह के एक शर्म वी.एस. के पास इस बहुत ही बुनियादी कार्यक्षमता के लिए एक मेनू आइटम नहीं है। कई आईडीई / संपादक करते हैं।
दीव

15
नोट: विजुअल स्टूडियो 2015 में, आप इसे यहाँ पा सकते हैं: देखें -> टूलबार -> फाइलों की तुलना करें । बस त्वरित लॉन्च विंडो में "तुलना" टाइप करें और आप इसे जोड़ लेंगे।
मैट

84

ऊपर दिए गए स्वीकृत उत्तर से प्रेरित होकर, मैंने एक बहुत ही सहज तरीका पाया कि कैसे आप ड्रैग और ड्रॉप का उपयोग करके या "सेंड टू" संदर्भ मेनू के माध्यम से विजुअल स्टूडियो के साथ दो फाइलों की तुरंत तुलना कर सकते हैं । इसके लिए केवल एक छोटी तैयारी की आवश्यकता होती है जिसे आपको एक बार करने की आवश्यकता होती है और फिर यह स्विस सेना के चाकू की तरह उपयोगी होती है।

विजुअल स्टूडियो के पास पहले से ही आपकी जरूरत की हर चीज मौजूद है, इस काम को करने के लिए केवल कुछ कॉन्फ़िगरेशन चरणों की आवश्यकता है:

फ़ाइल ड्रैग एंड ड्रॉप का उपयोग करके तुलना करें

तैयारी:

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. सहेजें के रूप में इस कोड VS_FileCompare.cmdइसका इस्तेमाल करने, संशोधित करने, vspathयदि के स्थान का मिलान करने के लिए आवश्यक devenv.exe(के आधार पर दृश्य स्टूडियो संस्करण , आप वर्तमान में उपयोग कर रहे हैं फुटनोट *) )

3. या तो एक बनाने के शॉर्टकट नामित "फाइल तुलना करें" के लिए VS_FileCompare.cmdऔर जगह यह डेस्कटॉप पर(जैसा कि नीचे दिए गए एनीमेशन में इस्तेमाल किया गया है), इसलिए यह हमेशा उस पर फ़ाइलों को खींचने और छोड़ने के लिए उपलब्ध है या सीधे डेस्कटॉप पर बैच फ़ाइल को रखता है। बस इतना ही!

उपयोग:

  1. + के माध्यम से विंडोज एक्सप्लोरर खोलेंWinE
  2. एक्सप्लोरर में तुलना करने के लिए दो फ़ाइलों का चयन करें
  3. नीचे दिए गए एनीमेशन में दिखाए गए अनुसार उन्हें खींचें और छोड़ें: DragDropDemo

  4. कुछ सेकंड के बाद (विजुअल स्टूडियो के लॉन्च समय के आधार पर), परिणाम विजुअल स्टूडियो में दिखाए जाएंगे: विजुअल स्टूडियो व्यू

नोट: विजुअल स्टूडियो पहले से ही खुला है तो यह नुकसान नहीं करता है। इस स्थिति में यह सिर्फ विजुअल स्टूडियो के रनिंग इंस्टेंस के भीतर एक नई विंडो खोलेगा। इसलिए आप कई फ़ाइल जोड़े की तुलना कर सकते हैं, लेकिन कृपया सुनिश्चित करें कि आपने एक बार में केवल 2 फ़ाइलों का चयन किया है।


वैकल्पिक तरीका: SendTo संदर्भ मेनू

यहां एक विकल्प है कि आप VS_FileCompare.cmdऊपर दिए गए अनुभाग में उल्लिखित बैच फ़ाइल का उपयोग कैसे कर सकते हैं । यह फाइलों की तुलना करने के लिए संदर्भ मेनू के सेंड टू फोल्डर का उपयोग करने की अनुमति देता है।

तैयारी:

  1. बैच फ़ाइल के लिए एक शॉर्टकट "Compar2Files VS" बनाएं VS_FileCompare.cmdऔर इसे SendTo फ़ोल्डर में कॉपी करें । + के माध्यम से विंडोज एक्सप्लोरर खोलेंWinE
  2. फ़ाइल एक्सप्लोरर के एड्रेस बार में दर्ज करके SendTo फ़ोल्डर खोलें shell:sendto(जैसा कि यहां वर्णित है )। फिर, तैयार किए गए शॉर्टकट को इस फ़ोल्डर में डालें।

उपयोग:

  1. + के माध्यम से विंडोज एक्सप्लोरर खोलेंWinE
  2. एक्सप्लोरर में तुलना करने के लिए दो फ़ाइलों का चयन करें
  3. बैच फ़ाइल के लिए शॉर्टकट को "तुलना 2 फाइल्स वीएस"VS_FileCompare.cmd नाम दिया गया है , आप दो फाइलों का चयन कर सकते हैं, राइट-क्लिक करें और नीचे भेजें का चयन करें -> तुलना 2 एफएस वीएस को नीचे दिखाए अनुसार तुलना करने के लिए आमंत्रित करें: भेजना

  4. कुछ सेकंड के बाद (विजुअल स्टूडियो के लॉन्च समय के आधार पर), परिणाम विजुअल स्टूडियो में दिखाए जाएंगे: विजुअल स्टूडियो व्यू


MSDN संदर्भ:
- अलग विंडो का उपयोग
- विजुअल स्टूडियो का डिफ पैरामीटर


*)  फुटनोट: क्योंकि vsPath(पथ का DEVENV.exe) दृश्य स्टूडियो के आपके संस्करण के आधार पर भिन्न होता है, मैं यह वर्णन कर रहा हूं कि आप इसे कैसे खोज सकते हैं (विंडोज 10):

  1. में विंडोज प्रारंभ मेनू विंडोज आइकन छोटा , का पता लगाने दृश्य स्टूडियो आइकन विजुअल स्टूडियो आइकन छोटा
  2. संदर्भ मेनू लाने के लिए राइट-क्लिक करें। अधिक> फ़ाइल स्थान खोलें चुनें ।
    विंडोज एक्सप्लोरर विजुअल स्टूडियो शॉर्टकट के साथ खुलता है।
  3. विजुअल स्टूडियो पर राइट-क्लिक करें और गुण चुनें
  4. गुण संवाद में, आप "लक्ष्य:" में पथ पा सकते हैं VSProperties

5
यह वास्तव में एक बहुत अच्छा और विस्तृत जवाब है, निश्चित रूप से मतदान किया जाना चाहिए। मैं उस समूह से हूं, जो उत्तर के उत्तर की तलाश में रहता है, भले ही उत्तर एक थ्रेड में चिह्नित किया गया हो, इसलिए मैं बिल्कुल इसे दे रहा हूं।
दिव्य तिवारी

1
@DivTiwari - धन्यवाद, यह सुनकर खुशी हुई!
मैट

संपादित करें: यह वीएस 2013 के लिए स्क्रिप्ट है, फिर से धन्यवाद। @echo बंद सेट्लोकल सेट vspath = C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE प्रारंभ "फाइलों की तुलना करें" / B / MIN "% vspath% \ devenv.exe" / diffus 2% 1 सबसे पहले: '% 2' दूसरा: '% 1'
फर्नांडो एगुइलर

1
यह शानदार था और एक आकर्षण की तरह काम करता था। बहुत बहुत धन्यवाद
सबबीर हसन

1
अच्छा! इसे मतदान करना..इस समाधान की प्रकृति को 'हैकिश' पसंद है। साझा करने के लिए आपका धन्यवाद।
लियो गुरदियन

77

आप Visual Studio गैलरी से VSCommands एक्सटेंशन की कोशिश कर सकते हैंनवीनतम रिलीज़ आपको दो फ़ाइल का चयन करने और उनकी तुलना करने की अनुमति देता है:

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें


1
मैंने एक्सटेंशन स्थापित किए, लेकिन यह विकल्प मेरे लिए उपलब्ध नहीं है।
पीटरएक्स

3
वी.एस. 2015 अपडेट 1 समुदाय में स्क्रीनशॉट पर वस्तुओं के न 14 ऐड VSCommands
मारेक टोमन

24

मैं हमेशा WinMerge का प्रशंसक रहा हूं जो एक ओपन सोर्स प्रोजेक्ट है। आप इसे काफी आसानी से विजुअल स्टूडियो में प्लग कर सकते हैं।

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

आपको दिखाएगा कि यह कैसे करना है


इसके अलावा फ़ोल्डर्स को अलग करने में सक्षम - बहुत शक्तिशाली
Jaans

2
WinMerge का एकमात्र नुकसान परिवर्तनों को पहचानने के लिए इसकी सीमित अब्लिती है (जैसे कि व्हाट्सएप, लाइनों को और अधिक लाइनों में विभाजित करना, आदि)

24

एक Visual Studio एक्सटेंशन भी है जिसे ComparFiles कहा जाता है , जो समाधान एक्सप्लोरर के संदर्भ मेनू में "फाइलों की तुलना" प्रविष्टि को जोड़ने के अलावा और कुछ नहीं करता है। यह बिल्ट-इन विजुअल स्टूडियो डिफरेंट टूल को इनवाइट करता है।

बस इस मामले में कि कोई (मेरे जैसा) VSCommands की तरह एक ऑल-इन-वन एक्सटेंशन स्थापित नहीं करना चाहता है ...


1
NB - यह एक्सटेंशन केवल VS2012 के लिए है, लेकिन आप VS2013 को आसानी से पर्याप्त समर्थन देने के लिए मैनिफ़ेस्ट फ़ाइल को संपादित कर सकते हैं - विवरण के लिए Q & A टैब पर मेरी टिप्पणी देखें। (मैं इस सुविधा को चाहता था, लेकिन यह लाइसेंस के कारण काम पर VSCommands के मुफ्त संस्करण का उपयोग नहीं कर सकता)
जेम्स एस

Visual Studio तुलना उपकरण 2013 के लिए उपलब्ध है, Visualstudiogallery.msdn.microsoft.com/…
संरेखित

23

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

Tools.DiffFiles File1 File2

यह एक अन्य उत्तर के समान है
नीको

5
हो सकता है - हालांकि व्यक्तिगत रूप से मैं किसी भी मामले में दो रास्तों का निर्माण करने की तुलना में एक GUI का उपयोग करूँगा - मेरा मतलब है कि यह 1984 नहीं है।
नीको

18

विजुअल स्टूडियो 2012, 2013, 2015 में, आप इसे वेब एसेंशियल के साथ भी कर सकते हैं , बस फाइलों पर क्लिक करें और संदर्भ मेनू से> वेब एसेंशियल >> डिफाइंड फाइल्स:

संपादित करें: यह अब एक अलग एक्सटेंशन के रूप में उपलब्ध है

यहां छवि विवरण दर्ज करें


मैं वेब आवश्यक में HTML चयनित
डिफ्लेक्ट

मैंने इसके लिए नया संस्करण स्थापित किया है VS 2015लेकिन मैं Diff selected filesविकल्प नहीं देख पा रहा हूँ क्यों?
शैजुत

@stom मेरे द्वारा बताए गए एक्सटेंशन को स्थापित करें।
हामिद मोसला

16

यदि आपने VS स्थापित किया है, तो आप कॉल भी कर सकते हैं

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

या वीएस 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
क्रेग बी

8

में दृश्य स्टूडियो कोड आप कर सकते हैं:

  • के पास जाओ Explorer
  • जिस पहली फ़ाइल की आप तुलना करना चाहते हैं, उस पर राइट क्लिक करें
  • चुनते हैं Select for compare
  • दूसरी फाइल पर राइट क्लिक करें जिसकी आप तुलना करना चाहते हैं
  • चुनते हैं Compare with '[NAME OF THE PREVIOUSLY SELECTED FILE]'

यह आपके द्वारा बताए गए विज़ुअल स्टूडियो कोड में आश्चर्यजनक रूप से काम करता है, लेकिन दुख की बात यह है कि विज़ुअल स्टूडियो एंटरप्राइज (न ही पेशेवर) में।
इप्टिन


4

अद्यतन: वीएस 2019 फ़ाइल अंतर प्लगइन के लिए अलग-अलग भविष्यवाणियों में फ़ाइलों की तुलना करने की अनुमति दें यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

आप इसे यहाँ से स्थापित कर सकते हैं:

यहां छवि विवरण दर्ज करें

OLD: VS 2017 के लिए https://marketplace.visualstudio.com/items?itemName=vs-publisher-457497.FileComparer2017 स्थापित करें

समस्या यह है कि आप अलग-अलग भविष्यवाणियों में फ़ाइलों की तुलना नहीं कर सकते हैं, लेकिन आप तुलना करने के लिए एक ही प्रोजेक्ट में फ़ाइलों की प्रतिलिपि बना सकते हैं ...

फ़ाइल में सुधार


1
दुर्भाग्य से, यह समाधान के बिना दो फ़ाइलों की तुलना करने की कोशिश करते समय काम नहीं करता है (उदाहरण के लिए, जब आप फ़ोल्डर मोड में VS2017 खोलते हैं: ओपन - फ़ोल्डर)
यूरी कोज़लोव

2

मुझे भी यह समस्या थी। कोई TFS नहीं, लेकिन मुझे यह लेख मददगार लगा

विशेष रूप से, चरण 1 बी।

Visual Studio कमांड प्रॉम्प्ट खोलें और Common7 / IDE फ़ोल्डर में जाएँ और टाइप करें

tf diff /configure

0

अखिल मित्तल द्वारा फाइल तुलना वी.एस. एक्सटेंशन। उत्कृष्ट हल्का उपकरण जो काम करता है।


0

किसी भी दो फ़ाइलों की तुलना करने के लिए और इसे एक फ़ाइल में मर्ज करने के लिए यहां निम्न चरण हैं जिनका आप अनुसरण कर सकते हैं यदि आपके पास दृश्य स्टूडियो (कोई भी संस्करण) स्थापित है।

चरण 1: दृश्य स्टूडियो कमांड प्रॉम्प्ट खोलें। यदि आपको दृश्य स्टूडियो कमांड प्रॉम्प्ट नहीं मिलता है, तो दृश्य स्टूडियो टूल चुनें

स्टार्ट -> विजुअल स्टूडियो कमांड प्रॉम्प्ट

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें

चरण 2: कमांड दर्ज करें vsdiffmerge.exe

यदि आपको तुलना की जरूरत है तो स्विच / एम को अनदेखा करें।

सिंटैक्स 1:
vsdiffmerge <file1> <file2> <file1> <outputfile> / t / m

सिंटैक्स 2:
vsdiffmerge <basefilename> <तुलनाफिलनेम> <basefilename> <outputFilename> / t / m

उदाहरण 1:
vsdiffmerge test1.js test2.js test1.js output.js / t / m
उदाहरण 2:
vsdiffmerge.exe "C: \ Users \ Livingston \ _ \ _ \ _ \ Files \ pre \ Test.js" "C \ _ \ _ \ _ \ _ \ _ \ _ \ _ \ _ \ _ \ _ फाइलें \ _ डाउनलोड \ wa \ wa \ Files \ output \ samp.js "/ t / m

यहां छवि विवरण दर्ज करें


चरण 3: फ़ाइलों को मर्ज करें

यहां छवि विवरण दर्ज करें कृपया ध्यान दें कि यदि फ़ाइल नाम स्थान में मौजूद नहीं है, तो यह तुलना करने वाला नहीं खोलेगा।

तुलना करने से पहले आप फ़ाइल को सुशोभित कर सकते हैं। दृश्य स्टूडियो में Ctrl + K + D।

ऑनलाइन बहुत सारे ब्यूटीफायर साइट उपलब्ध हैं।


0

विज़ुअल स्टूडियो कोड इसके लिए बहुत अच्छा है - एक फ़ोल्डर खोलें, दोनों फाइलों पर राइट क्लिक करें और तुलना करें।


0

विजुअल स्टूडियो में डिफ को इस्तेमाल करके बुलाया जा सकता है 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
यदि आप मूल पोस्ट पढ़ते हैं, तो वह विशेष रूप से कहता है, "क्या कोई तरीका है कि मैं वीएस में बिल्ट सुविधा के साथ दो फाइलों की तुलना कैसे कर सकता हूं लेकिन बिना टीएफएस के?" आपके उत्तर के लिए उसे TFS होना आवश्यक है।
सिगारडौग

हालांकि उन्होंने जवाब देने का प्रयास किया .. हालांकि, उनका प्रयास गलत था +1
इरफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.