Di visual studio 2013 jumlah referensi dari Kode khusus (metode, properti, bidang, ...) ditunjukkan oleh Code Lens . Saya ingin mendapatkan Kode (referensi nol) yang tidak digunakan di studio visual. Apakah ada cara untuk mendapatkannya?
Maksud saya referensi di bawah ini:
c#
visual-studio-2013
codelens
Nima Rostami
sumber
sumber
public
tidak digunakan tanpa mencari seluruh basis kode. Namun, untuk internal dan privat yang tidak digunakan, Analisis Kode akan memperingatkan Anda jika Anda mengaktifkan peringatan yang sesuai.Jawaban:
Mungkin cara terbaik dan termudah untuk mencapai apa yang Anda kejar adalah dengan menggunakan alat analisis kode bawaan dengan Visual Studio untuk menemukan dan membawa Anda langsung ke kode mati dan anggota yang tidak digunakan.
Untuk efek ini, saya membuat file ruleset analisis kode baru (Via File-> New-> File , memastikan Umum di panel kiri dipilih dan gulir ke bawah untuk menemukan Kode Analisis Aturan Set , memberikan nama file, kemudian mencari dan memilih aturan di bawah ini). Lihat di bawah untuk mengetahui isi file ruleset yang dapat Anda salin, dan rekatkan ke file baru dengan ekstensi .ruleset untuk digunakan.
Diberikan file ruleset, orang dapat mengklik kanan pada file proyek di panel Solution Explorer , dan pilih Properties . Di jendela properti proyek, klik tab Analisis Kode di panel kiri, lalu klik Buka untuk meramban ke lokasi file .ruleset. Jika Anda pergi ke properti file solusi (sebagai lawan file proyek), Anda dapat mengatur file analisis kode untuk setiap proyek dalam solusi di satu tempat (di bawah Pengaturan Analisis Kode , dan menggunakan drop-down di sana untuk memilih CATATAN: Anda sebelumnya harus sudah meramban ke file ruleset agar muncul di drop-down di jendela properti ini, namun).
Kemudian Anda cukup menjalankan analisis kode pada proyek / solusi (Via Analisis-> Jalankan Analisis Kode Pada Solusi -OR- Alt + F11 ) dan itu akan kembali sebagai peringatan, metode yang tidak direferensikan atau anggota yang tidak digunakan yang ditemukannya. Ia bahkan akan menemukan metode yang dirujuk oleh suatu metode, yang dirinya sendiri tidak memiliki referensi di tempat lain.
Namun berhati-hatilah, karena salah satu cara analisis kode untuk kode mati dapat membuat Anda salah, adalah jika referensi tersebut 'disembunyikan' dengan hanya memanggil metode tersebut melalui delegasi, dan tentu saja, refleksi.
Aturan untuk mendeteksi kode mati, khususnya, adalah:
Di bawah ini adalah isi dari file .ruleset yang dapat diperoleh dengan mengikuti langkah-langkah di atas, untuk kenyamanan Anda. Anda cukup menyalin XML di bawah ini, menempelkannya ke notepad ++, simpan di suatu tempat dengan ekstensi .ruleset , telusuri dan gunakan seperti dijelaskan di atas:
sumber
https://scottlilly.com/c-code-quality-improvement/remove-unused-classes-properties-and-functions/
"Sayangnya, [dalam Analisis Visual Studio] Anda hanya dapat mendeteksi anggota pribadi yang tidak digunakan. Ini karena penganalisa kode mengasumsikan anggota publik dapat digunakan oleh program lain. Ini bisa benar jika Anda menerbitkannya sebagai API melalui layanan web atau melepaskan kode Anda sebagai pustaka .... ReSharper memiliki fungsi analisis kode serupa - dengan keuntungan memeriksa anggota publik yang tidak digunakan. "
sumber
Saya akan pergi melalui setiap file, melakukan perintah Ctrl-MO untuk menutup semuanya, lalu gulir sekitar mencari referensi 0.
sumber
Inilah cara manual untuk mencapai hal ini yang saya gunakan untuk menemukan Kelas yang tidak digunakan yang ditandai publik.
Catatan: Jika Anda tidak mengikuti satu kelas per aturan file, ini akan membutuhkan lebih banyak pekerjaan. Juga, setiap titik akhir layanan API yang perlu Anda verifikasi tidak digunakan oleh proyek eksternal apa pun.
sumber