ฉันแค่เขียนส่วนขยาย VSIX สำหรับ Visual Studio 2010 และไม่สามารถหาวิธีแก้จุดบกพร่องได้
วิธีหนึ่งที่ชัดเจนคือการส่งออกข้อความ Trace.WriteLine()
การขยายการใช้แม่แบบ แต่จะหาได้ที่ไหน?
ฉันแค่เขียนส่วนขยาย VSIX สำหรับ Visual Studio 2010 และไม่สามารถหาวิธีแก้จุดบกพร่องได้
วิธีหนึ่งที่ชัดเจนคือการส่งออกข้อความ Trace.WriteLine()
การขยายการใช้แม่แบบ แต่จะหาได้ที่ไหน?
คำตอบ:
Visual Studio Extensions สามารถแก้ไขได้เหมือนกับแอปพลิเคชันอื่น ๆ คุณต้องตั้งค่าประสบการณ์การดีบักเพื่อเปิดใช้งาน devenv ด้วยส่วนขยายที่โหลด ลองทำดังต่อไปนี้
Start External Program
คลิกที่ปุ่มวิทยุ ชี้ไปที่ไบนารี devenv.exe บนเครื่องของฉันมันอยู่ที่
C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe
ในเครื่องที่ไม่ใช่ x64 แม้ว่าคุณจะสามารถลบส่วน "(x86)" ได้
/rootsuffix Exp
จากนั้นตั้งค่าอาร์กิวเมนต์บรรทัดคำสั่ง สิ่งนี้จะบอก Visual Studio ให้ใช้กลุ่มทดลองแทนกลุ่มการกำหนดค่าปกติ โดยค่าเริ่มต้นส่วนขยาย VSIX เมื่อสร้างขึ้นจะลงทะเบียนตัวเองในกลุ่มทดลอง
ตอนนี้คุณสามารถ F5 และจะเริ่ม Visual Studio ด้วย VSIX ของคุณเป็นส่วนขยายที่พร้อมใช้งาน
คำตอบที่ยอมรับโดย @JaredPar นั้นถูกต้องในทางเทคนิค แต่ต้องทนทุกข์ทรมานจากความจริงที่ว่าคุณต้องทำซ้ำสำหรับนักพัฒนาทุกคนทุกครั้งที่คุณได้รับสำเนาใหม่ของรหัสและทุกครั้งที่csproj.user
ไฟล์ถูกลบ เมื่อคุณทำเช่นนั้นการตั้งค่าจะถูกบันทึกไว้ในcsproj.user
ไฟล์
ตัวเลือกที่ดีกว่าคือใส่การตั้งค่าในcsproj
ไฟล์เพื่อไม่ให้สูญหาย ขออภัย Visual Studio ไม่อนุญาตให้คุณดำเนินการนี้โดยอัตโนมัติดังนั้นคุณต้องเพิ่มการตั้งค่าด้วยตนเอง โชคดีที่การตั้งค่าเหมือนกันสำหรับทุกโครงการ
คลิกขวาและยกเลิกการโหลดโครงการจากนั้นคลิกขวาอีกครั้งและแก้ไขcsproj
ไฟล์ไฟล์โครงการ ใน XML เพิ่มต่อไปนี้จะเป็นครั้งแรกเช่นขวาหลังจากPropertyGroup
TargetFramework
<StartAction>Program</StartAction>
<StartProgram>$(DevEnvDir)\devenv.exe</StartProgram>
<StartArguments>/rootsuffix Exp</StartArguments>
ซึ่งมีข้อดีดังต่อไปนี้
ตามที่ @MBulli ระบุไว้ในความคิดเห็นหากคุณได้ทำการเปลี่ยนแปลงในคำตอบที่ยอมรับแล้วให้ลบ*.csproj.user
ไฟล์ของคุณเนื่องจากการตั้งค่าในไฟล์จะแทนที่ไฟล์ที่คุณเพิ่มลงในcsproj
ไฟล์หลัก
OutputWindowHelper.OutputStringวิธีเขียนไป 'ทั่วไป' บานหน้าต่างหน้าต่างออก (Ctrl Alt o) ฉันเพิ่มบรรทัดนี้ในการอ้างอิง. csproj ของฉันเพื่อรับสิ่งนี้ใน VS 2013
<Reference Include="Microsoft.VisualStudio.Services.Integration, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
ดูคำตอบนี้ด้วย