ใน Visual Studio คุณจะพิมพ์รายการจุดพักไปยังไฟล์ได้อย่างไร


1

ฉันต้องการพิมพ์รายการเบรกพอยต์ของฉันไปยังไฟล์ แต่ฉันไม่เห็นวิธีการอื่นนอกเหนือจากการจับภาพหน้าจอของหน้าต่างเบรกพอยต์และพิมพ์สิ่งนั้น การค้นหาอินเทอร์เน็ตสำหรับ "จุดสั่งหยุดการพิมพ์ Visual Studio" จะแสดงข้อมูลจำนวนมากเกี่ยวกับการขอเบรกพอยต์เพื่อพิมพ์ข้อมูล แต่ไม่เกี่ยวกับวิธีการพิมพ์จุดสั่งหยุดด้วยตนเอง

เป็นโบนัสฉันต้องการแสดงข้อมูลเพิ่มเติมในหน้าต่างเบรกพอยต์เช่นเดียวกับในไฟล์ที่ฉันสามารถพิมพ์ออกมาได้ โดยเฉพาะฉันต้องการเพิ่มคอลัมน์เพื่อแสดง filepath แบบเต็มสำหรับเบรกพอยต์ ฉันคาดว่าจะเห็นตัวเลือกดังกล่าวภายใต้เครื่องมือ / การตั้งค่า แต่ฉันไม่ต้องการ


ถ้า เป็นไปได้ว่าจะต้องมีส่วนเสริม หากคุณไม่พบส่วนเสริมอาจไม่มีอยู่จริง
Ramhound

@ Alan ฉันขอแนะนำให้เพิ่มโซลูชันของคุณเป็นคำตอบแทนที่จะอัปเดตคำถามของคุณ
heavyd

@heavyd ฉันทำตามคำแนะนำของคุณ
Alan

คำตอบ:


1

ในเวอร์ชันของ Visual Studio ที่มี Nuget Package Manager (VS 2012+ หรือ VS 2010 ด้วยปลั๊กอิน Nuget) คุณสามารถใช้คอนโซล Package Manager (ดู - & gt; Windows อื่น ๆ - & gt; คอนโซลตัวจัดการแพคเกจ) คอนโซลเป็นคอนโซล Powershell และถูกฉีดด้วยตัวแปร $dte ซึ่งแสดงถึง ส่วนต่อประสานการทำงานอัตโนมัติของ Visual Studio .

คุณสามารถไปที่จุดพักโดยใช้ $dte.Debugger.Breakpoints property ซึ่งคุณสามารถส่งออกไปยังไฟล์โดยใช้คำสั่งต่อไปนี้:

$dte.Debugger.Breakpoints | select Name  | Out-File breakpoints.txt

สิ่งนี้จะส่งออกชื่อไฟล์หมายเลขบรรทัดและตัวละครของแต่ละจุดพักไปยังไฟล์ breakpoints.txt.

คุณสามารถเลือกคุณสมบัติใด ๆ ของ อินเตอร์เฟซเบรกพอยต์ และทำการฟอร์แมตอื่นโดยใช้ Powershell ก่อนที่จะส่งออกไปยังไฟล์


นี่เป็นสิ่งที่ดี ควรใช้เวลาสองนาทีในการดาวน์โหลดและติดตั้ง Nuget Package Manager (ฟรี)
Alan


1

ตอนนี้ฉันเห็นแล้วว่าเป็นไปได้ที่จะส่งออกเบรกพอยต์ไปยังไฟล์ XML (โดยคลิกที่ลูกศรโค้งแรกใกล้กับด้านบนของหน้าต่างเบรกพอยต์) XML ประกอบด้วยเส้นทางแบบเต็มไปยังแต่ละไฟล์ซึ่งมีมากกว่า GUI ที่แสดง แน่นอนว่าไฟล์ XML มีข้อมูลมากกว่าที่ฉันต้องการพิมพ์ แต่ฉันสามารถประมวลผลด้วยตนเองหรือโดยอัตโนมัติเพื่อให้จัดการได้ง่ายขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.