ฉันต้องการกำหนดค่า Visual Studio ให้เปิด Beyond Compare โดยค่าเริ่มต้นเป็นเครื่องมือ diff ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันต้องการกำหนดค่า Visual Studio ให้เปิด Beyond Compare โดยค่าเริ่มต้นเป็นเครื่องมือ diff ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
ใน Visual Studio ไปที่เครื่องมือเมนูให้เลือกตัวเลือกขยายควบคุมแหล่งที่มา (ในสภาพแวดล้อม TFS คลิก Visual Studio Team Foundation Server) และคลิกที่กำหนดค่าเครื่องมือผู้ใช้งานปุ่ม
คลิกที่ปุ่มเพิ่ม
ป้อน / เลือกตัวเลือกต่อไปนี้เพื่อเปรียบเทียบ:
.*
Compare
C:\Program Files\Beyond Compare 3\BComp.exe
(แทนที่ด้วยพา ธ ที่เหมาะสมสำหรับเครื่องของคุณรวมถึงหมายเลขเวอร์ชัน)%1 %2 /title1=%6 /title2=%7
หากใช้ Beyond Compare Professional (3-way Merge):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(แทนที่ด้วยพา ธ ที่เหมาะสมสำหรับเครื่องของคุณรวมถึงหมายเลขเวอร์ชัน)%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
หากใช้ Beyond Compare v3 / v4 Standard หรือ Beyond Compare v2 (ผสานสองทาง):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(แทนที่ด้วยพา ธ ที่เหมาะสมสำหรับเครื่องของคุณรวมถึงหมายเลขเวอร์ชัน)%1 %2 /savetarget=%4 /title1=%6 /title2=%7
หากคุณใช้แท็บใน Beyond เปรียบเทียบ
หากคุณเรียกใช้ Beyond Compare ในโหมดแท็บมันอาจสับสนเมื่อคุณแตกต่างหรือรวมไฟล์มากกว่าหนึ่งชุดในแต่ละครั้งจาก Visual Studio ในการแก้ไขปัญหานี้คุณสามารถเพิ่มอาร์กิวเมนต์/solo
ไปยังจุดสิ้นสุดของอาร์กิวเมนต์ สิ่งนี้ทำให้มั่นใจได้ว่าการเปรียบเทียบแต่ละรายการจะเปิดขึ้นในหน้าต่างใหม่โดยแก้ไขปัญหาด้วยแท็บ
หากคุณใช้GITเป็นระบบจัดการซอร์สโค้ดแทนที่จะเป็นTFVC (ค่อนข้างเก่า ) แล้ว Visual Studio ไม่มีตัวเลือกในการกำหนดค่าอะไรเช่นนี้
แต่มัน(ที่ถูกต้องในความคิดของฉัน)ใช้การตั้งค่าการตั้งค่าไฟล์ GIT ของ ดังนั้นหากคุณมีการตั้งค่า GIT ให้ใช้ Beyond Compare หรือซอฟต์แวร์การเปรียบเทียบโดยบุคคลที่สามอื่น ๆ มันจะเลือกสิ่งนี้และเริ่มใช้มัน
ถ้าไม่เช่นนั้นเพียงแค่ตั้งค่าที่ (ดูที่นี่สำหรับความช่วยเหลือเพิ่มเติมและมีแนวโน้มมากขึ้นที่ทันสมัย) ข้อมูลที่เกี่ยวข้องสำหรับการตั้งค่า Visual Studio with Beyond Compare 4 คือ:
%HOMEDRIVE%%HOMEPATH%/.gitconfig
ดูที่นี่สำหรับข้อมูล) หรือหากคุณต้องการให้ repo เป็นแบบเฉพาะเจาะจงหลังจากนั้นเริ่มโครงการในพื้นที่เก็บข้อมูล Git ให้แก้ไขไฟล์ config ในโฟลเดอร์. git ใน โฟลเดอร์โครงการเปลี่ยนไฟล์กำหนดค่าเพื่อสะท้อนการเปลี่ยนแปลงต่อไปนี้:
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files (x86)\\Beyond Compare 4\\BComp.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"C:\\Program Files (x86)\\Beyond Compare 4\\BComp.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\"
หากใช้ตัวติดตั้ง 64 บิตให้ตรวจสอบชื่อของไฟล์ที่เรียกทำงานได้ Mine เป็น BCompare.exe
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\"
ปัญหา:หากคุณสร้างโครงการใหม่และรับ VS เพื่อสร้าง git repo ในเวลาเดียวกันมันจะเพิ่มภาระการแทนที่ลงใน.git/config
ไฟล์ที่บังคับให้ใช้ Visual Studio อีกครั้ง (ขอบคุณสำหรับ MS!) ดังนั้นทั้งสร้าง git repo ด้วยวิธีการอื่นหลังจากที่โครงการได้รับการติดตั้ง (เช่นผ่าน SourceTree หรือบรรทัดคำสั่ง ฯลฯ ... ) หรือแก้ไข.git/config
ไฟล์ (ในโฟลเดอร์โซลูชัน) และลบล้างการตั้งค่าข้างต้นใด ๆ
ขอบคุณ minnow ในความคิดเห็นที่ทำให้ฉันสนใจมันอีกครั้ง
หมายเหตุ:ฉันยังเจอสิ่งนี้อยู่ แต่ฉันใช้ VS กับ GIT และคำตอบนั้นไม่ถูกต้องและถึงแม้ว่าความคิดเห็นบางส่วนจะพูดถึง URL ที่มีคำตอบที่ถูกต้อง แต่ก็ไม่ชัดเจนและถ้าฉันหายไปฉันก็มั่นใจว่าคนอื่นจะ หวังว่านี่จะช่วยแก้ปัญหานี้ได้
\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
หากคุณใช้ TFS คุณสามารถค้นหาข้อมูลเพิ่มเติมในการกำหนดค่า diff / merge ใน Team Foundation - ค่า Command และ Argument ทั่วไป
มันแสดงให้เห็นถึงวิธีการกำหนดค่าเครื่องมือดังต่อไปนี้:
ฉันเบื่อที่จะทำสิ่งนี้ทุก 6 เดือนเมื่อ Visual Studio รุ่นใหม่ออกมาหรือฉันย้ายพีซีหรือสมาชิกใหม่เข้าร่วมทีม ดังนั้น PowerShell:
# .Synopsys
# Sets up Beyond Compare professional as Diff tool for all instances of Visual Studio on this PC
# If you don't use TFS, change the sccProvider as appropriate
[CmdLetBinding()]
param(
$bcPath = 'C:\Program Files (x86)\Beyond Compare 3\BComp.exe',
$sccProvider = 'TeamFoundation'
)
$ErrorActionPreference = 'stop';
$baseKey = 'REGISTRY::\HKCU\Software\Microsoft\VisualStudio\*'
function SetRegKeyProperties($keyPath, [hashtable]$keyProps){
if(!(Test-Path $keyPath)){
Write-Verbose "Creating $keyPath"
# Force required here to recursively create registry path
[void] (new-item $keyPath -Type:Directory -Force);
}
foreach($prop in $keyProps.GetEnumerator()){
Set-ItemProperty -Path:$keyPath -Name:$prop.Key -Value:$prop.Value;
}
}
$configBases = dir $baseKey | ? { $_.PSChildName -match '^\d+\.\d$' }
foreach($item in $configBases){
Write-Host "Configuring $item"
$diffToolsKey = Join-Path $item.PSPath "$sccProvider\SourceControl\DiffTools"
SetRegKeyProperties (Join-path $diffToolsKey '.*\Compare') @{Command=$bcPath;Arguments='%1 %2 /title1=%6 /title2=%7'}
SetRegKeyProperties (Join-path $diffToolsKey '.*\Merge') @{Command=$bcPath;Arguments='%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9'}
}
ทำงานบนเครื่องของฉัน YMMV ไม่มีการรับประกันไม่มีการคืนเงิน VS ดูเหมือนจะไม่แคชคีย์ดังนั้นจะมีผลทันที
computer\hkey_local_machine\scooter software\beyond compare\exepath
อาจจะเพียงแค่ควรปรับปรุงในการอ่านรายการรีจิสทรี:
ใน Visual Studio 2008 + ให้ไปที่
Tools menu --> select Options
ในหน้าต่างตัวเลือก -> ขยายการควบคุมแหล่งที่มา -> เลือกเครื่องมือผู้ใช้การโค่นล้ม -> เลือกนอกเหนือจากการเปรียบเทียบ
และคลิกปุ่มตกลง ..
คำตอบที่โพสต์โดย @schellack เหมาะสำหรับสถานการณ์ส่วนใหญ่ แต่ฉันต้องการ Beyond Compare เพื่อจำลองมุมมอง '2 Way ผสานกับแผงผลลัพธ์' ที่ Visual Studio ใช้ในหน้าต่างผสานของตัวเอง
การกำหนดค่านี้ซ่อนแผงกลาง (ซึ่งไม่ได้ใช้ในกรณีส่วนใหญ่ AFAIK)
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
ด้วยความขอบคุณจากMorgen
VS2013 บน Windows 64 บิตต้องการการตั้งค่าเหล่านี้: เครื่องมือ | ตัวเลือก | การควบคุมแหล่งที่มา การควบคุมแหล่งแจ๊ส
ตรวจสอบช่องโหว่ใช้เครื่องมือเปรียบเทียบภายนอก ... (พลาดง่าย ๆ )
การเปรียบเทียบตำแหน่งของปฏิบัติการแบบสองทาง: ไฟล์ C: \ Program (x86) \ Beyond เปรียบเทียบ 3 \ BCompare.exe
ความขัดแย้ง 3-Way เปรียบเทียบตำแหน่งของที่ปฏิบัติการได้: C: \ Program Files (x86) \ Beyond เปรียบเทียบ 3 \ BCompare.exe
BComp.exe ทำงานในสถานการณ์แบบหลายแท็บได้เช่นกันดังนั้นจึงไม่จำเป็นต้องเพิ่ม / เดี่ยวนอกจากว่าคุณต้องการ windows ที่แยกต่างหากสำหรับการเปรียบเทียบแต่ละไฟล์ ทดสอบ / ตรวจสอบความถูกต้องของ Beyond Compare 3 และ 4 Moral: ใช้ BComp.exe ไม่ใช่ BCompare.exe สำหรับการกำหนดค่าเครื่องมือ VS เปรียบเทียบภายนอก
ฉันใช้ VS 2017 กับโครงการที่โฮสต์กับ Git บน visualstudio.com hosting (msdn)
ลิงก์ด้านบนทำงานให้ฉันด้วยคำแนะนำ "GITHUB FOR WINDOWS"
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
ไฟล์กำหนดค่าอยู่ที่ตำแหน่งที่ระบุไว้ที่ "c: \ users \ ชื่อผู้ใช้ \. gitconfig" และฉันเพิ่งเปลี่ยน BC4's เป็น BC3 สำหรับสถานการณ์ของฉันและใช้เส้นทางที่เหมาะสม:
C: / Program Files (x86) / Beyond เปรียบเทียบ 3 / bcomp.exe
ผมใช้BC3สำหรับ diff คอมไพล์ของฉัน แต่ฉันยังต้องการเพิ่มvscodeไปยังรายการของเครื่องมือ diff คอมไพล์ที่มีประโยชน์ ผู้ใช้บางคนชอบvscodeมากกว่าประสบการณ์IDE
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"