ฉันเห็นเครื่องมือการรวมใหม่ใน VS 2012 สำหรับการเปรียบเทียบสองไฟล์หรือสองเวอร์ชันของไฟล์ ฉันชอบมัน. แต่เมื่อฉันพยายามค้นหาฉันไม่สามารถทำได้เพราะฉันไม่ได้ใช้ TFS มีวิธีฉันจะเปรียบเทียบสองไฟล์กับคุณสมบัติ builtin ใน VS แต่ไม่มี TFS ได้หรือไม่?
ฉันเห็นเครื่องมือการรวมใหม่ใน VS 2012 สำหรับการเปรียบเทียบสองไฟล์หรือสองเวอร์ชันของไฟล์ ฉันชอบมัน. แต่เมื่อฉันพยายามค้นหาฉันไม่สามารถทำได้เพราะฉันไม่ได้ใช้ TFS มีวิธีฉันจะเปรียบเทียบสองไฟล์กับคุณสมบัติ builtin ใน VS แต่ไม่มี TFS ได้หรือไม่?
คำตอบ:
คุณสามารถเรียกใช้devenv.exe /diff list1.txt list2.txt
จากพรอมต์คำสั่งหรือหากอินสแตนซ์ Visual Studio กำลังทำงานอยู่คุณสามารถพิมพ์Tools.DiffFiles
ในหน้าต่างคำสั่งด้วยชื่อไฟล์ที่มีประโยชน์:
แรงบันดาลใจจากคำตอบที่ยอมรับฉันพบวิธีที่สะดวกสบายมากที่คุณสามารถเปรียบเทียบสองไฟล์กับ 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
ในชุด นี่เป็นเพราะฉันสังเกตเห็นว่า file explorer ส่งผ่านไฟล์ที่ 2เป็นพารามิเตอร์แรกจากนั้นไฟล์ที่ 1เป็นพารามิเตอร์ที่สอง
2. บันทึกรหัสนี้เป็นVS_FileCompare.cmd
ที่จะใช้มันปรับเปลี่ยนvspath
ถ้าจำเป็นต้องใช้เพื่อให้ตรงกับสถานที่ตั้งของdevenv.exe
(ขึ้นอยู่กับรุ่นของ Visual Studioคุณกำลังใช้อยู่ในขณะนี้ดูเชิงอรรถ*) )
3. ทั้งสร้างทางลัดชื่อ"แฟ้มเปรียบเทียบ"สำหรับVS_FileCompare.cmd
สถานที่ บนเดสก์ท็อป(ตามที่ใช้ในภาพเคลื่อนไหวด้านล่าง) ดังนั้นจึงสามารถลากและวางไฟล์ได้ตลอดเวลาหรือวางไฟล์แบตช์ไว้บนเดสก์ท็อปโดยตรง นั่นคือทั้งหมด!
การใช้งาน:
หลังจากนั้นไม่กี่วินาที (ขึ้นอยู่กับเวลาเปิดตัวของ Visual Studio) ผลลัพธ์จะปรากฏใน Visual Studio:
หมายเหตุ:ไม่เป็นอันตรายหาก Visual Studio เปิดอยู่ ในกรณีนี้มันจะเปิดหน้าต่างใหม่ภายในอินสแตนซ์ที่กำลังทำงานของ Visual Studio เพื่อให้คุณสามารถเปรียบเทียบไฟล์หลายคู่ได้ แต่โปรดให้แน่ใจว่าคุณได้เลือกไฟล์เพียง 2 ไฟล์ในแต่ละครั้ง
ต่อไปนี้เป็นอีกวิธีการใช้แบตช์ไฟล์ที่VS_FileCompare.cmd
กล่าวถึงในส่วนด้านบน อนุญาตให้ใช้โฟลเดอร์ Send To ของเมนูบริบทเพื่อเปรียบเทียบไฟล์
เตรียม:
VS_FileCompare.cmd
และคัดลอกลงในโฟลเดอร์SendTo เปิดWindows explorerผ่านทางWin+Eshell:sendto
ลงในแถบที่อยู่ของ explorer ของไฟล์ (ดังอธิบายไว้ที่นี่ ) จากนั้นใส่ทางลัดที่เตรียมไว้ลงในโฟลเดอร์นี้การใช้งาน:
สมมติว่าทางลัดสำหรับไฟล์แบตช์VS_FileCompare.cmd
ชื่อ"Compare2Files VS"คุณสามารถเลือกสองไฟล์คลิกขวาและเลือกส่งไปที่ -> Compare2Files VSเพื่อเรียกการเปรียบเทียบดังที่แสดงด้านล่าง:
หลังจากนั้นไม่กี่วินาที (ขึ้นอยู่กับเวลาเปิดตัวของ Visual Studio) ผลลัพธ์จะปรากฏใน Visual Studio:
การอ้างอิง MSDN:
- การใช้หน้าต่าง diff
- พารามิเตอร์ Diff ของ Visual Studio
*) เชิงอรรถ:เนื่องจากvsPath
(เส้นทางไปDEVENV.exe
) แตกต่างกันไปตามรุ่นของ Visual Studio ของคุณฉันกำลังอธิบายวิธีที่คุณสามารถค้นหา (Windows 10):
คุณสามารถลองขยาย VSCommands จาก Visual Studio แกลลอรี่ รุ่นล่าสุดช่วยให้คุณสามารถเลือกสองไฟล์และเปรียบเทียบ:
ฉันเป็นแฟนของ WinMerge ซึ่งเป็นโครงการโอเพ่นซอร์สมาโดยตลอด คุณสามารถเสียบเข้ากับ Visual Studio ได้อย่างง่ายดาย
จะแสดงวิธีการทำเช่นนี้
นอกจากนี้ยังมีส่วนขยายของ Visual Studio ชื่อCompareFilesซึ่งไม่ทำอะไรอื่นนอกจากเพิ่มรายการ "เปรียบเทียบไฟล์" ลงในเมนูบริบทของ Explorer มันเรียกใช้เครื่องมือ diff Studio ในตัว
ในกรณีที่บางคน (เช่นฉัน) ไม่ต้องการติดตั้งส่วนขยาย all-in-one อย่าง VSCommands ...
ใน Visual Studio 2012, 2013, 2015 คุณสามารถทำได้ด้วยWeb Essentialsเพียงคลิกขวาที่ไฟล์และจากเมนูบริบท> Web Essential >> Diff ไฟล์ที่เลือก:
แก้ไข:ตอนนี้ใช้ได้เป็นส่วนขยายแยกต่างหาก
VS 2015
แต่ฉันไม่เห็นDiff selected files
ตัวเลือกว่าทำไม
หากคุณติดตั้ง 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/
ในVisual Studio Codeคุณสามารถ:
Explorer
Select for compare
Compare with '[NAME OF THE PREVIOUSLY SELECTED FILE]'
นามสกุล VS: ความแตกต่างของไฟล์โดยMads Kristensen
ปรับปรุง: สำหรับ VS 2019 ไฟล์ต่างปลั๊กอินอนุญาตให้เปรียบเทียบไฟล์ใน proyects ที่แตกต่างกัน
คุณสามารถติดตั้งได้จากที่นี่:
OLD:
สำหรับ VS 2017 ติดตั้ง
https://marketplace.visualstudio.com/items?itemName=vs-publisher-457497.FileComparer2017
ปัญหาคือคุณไม่สามารถเปรียบเทียบไฟล์ในรูปแบบที่แตกต่างกัน แต่คุณสามารถคัดลอกไฟล์ในโครงการเดียวกันเพื่อเปรียบเทียบ ...
ไฟล์ Comparer VS นามสกุลโดย Akhil Mittal เครื่องมือน้ำหนักเบาที่ยอดเยี่ยมที่ทำให้งานเสร็จ
ในการเปรียบเทียบไฟล์สองไฟล์และรวมเป็นไฟล์เดียวนี่คือขั้นตอนต่อไปนี้คุณสามารถติดตามได้หากคุณติดตั้ง visual Studio (ทุกเวอร์ชัน)
ขั้นตอนที่ 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
มีไซต์ beautifier จำนวนมากที่พร้อมใช้งานออนไลน์
รหัส Visual Studio นั้นยอดเยี่ยมสำหรับเรื่องนี้ - เปิดโฟลเดอร์คลิกขวาที่ไฟล์และเปรียบเทียบ
ใน Visual Studio Diff สามารถเรียกใช้ได้โดยใช้คำสั่งCommand Window
แล้วTools.DiffFiles
Command Window
โดยปุ่มลัดCtrl + W, A
หรือเมนูView -> Other Windows -> Command Window
Tools.DiffFiles "FirstFile.cs" "SecondFile.cs"
ฉันเชื่อว่านี่เป็นส่วนเสริมที่ดีกว่าสำหรับ Visual Studio 2012 ซึ่งเรียกว่าการเปรียบเทียบรหัสและสามารถพบได้ที่นี่
หากคุณกำลังทำงานกับการเชื่อมต่อ TFS จากนั้นคลิกขวาที่ไฟล์ที่คุณต้องการเปรียบเทียบ (ผ่าน explorer การควบคุมแหล่งที่มา) และมันจะแสดงหน้าต่างเช่นนี้ -
ตอนนี้เปลี่ยนเส้นทางของไฟล์ต้นฉบับใน 'Souce Path:' และคุณจะได้รับการเปรียบเทียบผ่านเครื่องมือเปรียบเทียบ VS
ในทำนองเดียวกันคุณสามารถเปรียบเทียบโฟลเดอร์ซึ่งจะทำการเปรียบเทียบไฟล์ทั้งหมดของโฟลเดอร์ได้ในคราวเดียว