Saya hanya menulis ekstensi VSIX untuk Visual Studio 2010 dan tidak tahu cara men-debugnya.
Salah satu metode yang jelas adalah mengeluarkan pesan. Template ekstensi menggunakan Trace.WriteLine()
. Tapi di mana menemukan keluarannya?
Jawaban:
Ekstensi Visual Studio dapat di-debug seperti aplikasi lainnya. Anda hanya perlu menyiapkan pengalaman debug untuk meluncurkan devenv dengan ekstensi yang dimuat. Coba berikut ini
Klik di tombol radio untuk Start External Program
. Arahkan ke biner devenv.exe. Di komputer saya, ini terletak di
C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe
Pada mesin non x64 meskipun Anda dapat menghapus bagian "(x86)".
Kemudian setel argumen baris perintah ke /rootsuffix Exp
. Ini memberitahu Visual Studio untuk menggunakan sarang eksperimental daripada sarang konfigurasi normal. Secara default, ekstensi VSIX saat dibuat akan mendaftarkan dirinya di sarang percobaan.
Sekarang Anda dapat F5 dan itu akan memulai Visual Studio dengan VSIX Anda sebagai ekstensi yang tersedia.
Jawaban yang diterima oleh @JaredPar secara teknis benar, tetapi menderita karena Anda perlu mengulanginya untuk setiap pengembang, setiap kali Anda mendapatkan salinan kode baru, dan setiap kali csproj.user
file dihapus. Jika Anda melakukannya dengan cara itu, pengaturan disimpan di dalam csproj.user
file.
Pilihan yang lebih baik adalah meletakkan pengaturan di csproj
file agar tidak hilang. Sayangnya, Visual Studio tidak mengizinkan Anda melakukan ini secara otomatis, jadi Anda perlu menambahkan pengaturan secara manual. Untungnya, pengaturannya sama untuk proyek apa pun.
Klik kanan dan keluarkan proyek, lalu klik kanan lagi dan edit csproj
file file proyek. Dalam XML, tambahkan berikut untuk pertama PropertyGroup
, misalnya setelah TargetFramework
.
<StartAction>Program</StartAction>
<StartProgram>$(DevEnvDir)\devenv.exe</StartProgram>
<StartArguments>/rootsuffix Exp</StartArguments>
Ini memiliki keuntungan sebagai berikut;
Seperti yang @MBulli nyatakan di komentar, jika Anda telah membuat perubahan pada jawaban yang diterima, hapus *.csproj.user
file Anda karena pengaturan di dalamnya akan menimpa yang Anda tambahkan ke csproj
file utama .
The OutputWindowHelper.OutputString metode menulis untuk 'Umum' panel jendela output (Ctrl Alt o). Saya menambahkan baris ini di referensi .csproj saya untuk mendapatkan ini di VS 2013
<Reference Include="Microsoft.VisualStudio.Services.Integration, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
Lihat juga jawaban ini .
Jika Anda mencoba men-debug UnitTestExtension, Anda juga harus memasang debugger ke proses vstest. *. Exe seperti yang dijelaskan di sini . Jika tidak, Anda mungkin melihat titik putus aktif tetapi debugger tidak akan pernah berhasil.