Analisis kode menggunakan penganalisis platform kompilator .NET (Roslyn)
Penganalisis platform kompilator .NET (Roslyn) memeriksa kode C# atau Visual Basic Anda untuk masalah gaya, kualitas, pemeliharaan, desain, dan lainnya. Inspeksi atau analisis ini terjadi selama waktu desain di semua file yang terbuka.
Penganalisis dibagi menjadi grup berikut:
-
Penganalisis ini dibangun ke dalam Visual Studio. ID diagnostik penganalisis, atau format kode adalah IDExxxx, misalnya, IDE0001. Anda dapat mengonfigurasi preferensi di halaman opsi editor teks atau di file EditorConfig. Mulai dari .NET 5.0, penganalisis gaya kode disertakan dengan .NET SDK dan dapat diberlakukan secara ketat sebagai peringatan atau kesalahan build. Untuk informasi selengkapnya, lihat Gambaran umum analisis kode sumber .NET.
-
Penganalisis ini disertakan dengan .NET 5.0 dan SDK yang lebih baru dan diaktifkan secara default. ID diagnostik penganalisis, atau format kode adalah CAxxxx, misalnya, CA1822. Untuk informasi selengkapnya, lihat Gambaran umum analisis kualitas kode .NET.
Penganalisis eksternal
Contoh penganalisis eksternal adalah StyleCop, Roslynator, xUnit Analyzers, dan Sonar Analyzer. Anda dapat menginstal penganalisis ini sebagai paket NuGet atau ekstensi Visual Studio.
Tingkat keparahan penganalisis
Setiap aturan penganalisis Roslyn, atau diagnostik, memiliki status tingkat keparahan dan penekanan default yang dapat Anda sesuaikan untuk proyek Anda.
Tingkat keparahan meliputi: Kesalahan, Peringatan, Saran, Diam, Tidak Ada, dan Default. Untuk informasi dan perilaku terperinci, lihat Mengonfigurasi tingkat keparahan.
Pelanggaran aturan
Jika penganalisis menemukan pelanggaran aturan penganalisis, penganalisis melaporkannya di jendela Daftar Kesalahan dan di editor kode.
Cuplikan layar berikut menunjukkan pelanggaran aturan yang dilaporkan di jendela Daftar Kesalahan. Pelanggaran penganalisis yang dilaporkan dalam daftar kesalahan cocok dengan pengaturan tingkat keparahan aturan:
Pelanggaran aturan penganalisis juga muncul di editor kode sebagai garis berlekuk di bawah kode yang menyinggung. Misalnya, cuplikan layar berikut menunjukkan tiga pelanggaran: satu kesalahan (garis berlekuk merah), satu peringatan (garis berlekuk hijau), dan satu saran (tiga titik abu-abu):
Perbaikan kode
Banyak diagnostik memiliki satu atau beberapa perbaikan kode terkait yang dapat Anda terapkan untuk memperbaiki pelanggaran aturan. Perbaikan kode ditampilkan di menu ikon bola lampu bersama dengan jenis Tindakan Cepat lainnya. Untuk informasi selengkapnya tentang perbaikan kode, lihat Tindakan Cepat Umum.
Mengonfigurasi tingkat keparahan penganalisis
Anda dapat mengonfigurasi tingkat keparahan aturan penganalisis dalam file EditorConfig atau dari menu bola lampu.
Anda juga dapat mengonfigurasi penganalisis untuk memeriksa kode pada waktu build dan saat Anda mengetik. Anda dapat mengonfigurasi cakupan analisis kode langsung untuk dijalankan hanya untuk dokumen saat ini, semua dokumen terbuka, atau seluruh solusi. Untuk informasi selengkapnya, lihat Mengonfigurasi analisis kode langsung untuk .NET.
Tip
Kesalahan dan peringatan build-time dari penganalisis kode hanya ditampilkan jika penganalisis diinstal sebagai paket NuGet. Penganalisis bawaan (misalnya, IDE0067 dan IDE0068) tidak pernah berjalan selama build.
Menginstal penganalisis kode eksternal
Visual Studio menyertakan sekumpulan penganalisis Roslyn inti, yang selalu aktif. Jika Anda memerlukan lebih banyak penganalisis kode, Anda dapat menginstal penganalisis eksternal untuk setiap proyek melalui paket NuGet. Beberapa penganalisis juga tersedia sebagai ekstensi Visual Studio .vsix , dalam hal ini mereka berlaku untuk solusi apa pun yang Anda buka di Visual Studio. Untuk informasi tentang menginstal dua jenis penganalisis yang berbeda ini, lihat Menginstal penganalisis kode.
Cakupan
Jika Anda menginstal penganalisis sebagai paket NuGet, metode pilihan, itu hanya berlaku untuk proyek tempat paket NuGet diinstal. Jika tidak, jika Anda menginstal penganalisis sebagai ekstensi Visual Studio, itu berlaku di tingkat solusi dan untuk semua instans Visual Studio. Di lingkungan tim, penganalisis yang Anda instal sebagai paket NuGet berada dalam cakupan untuk semua pengembang yang mengerjakan proyek tersebut.
Catatan
Penganalisis pihak pertama dikirim dalam .NET SDK. Lebih baik Anda mengaktifkan penganalisis ini dari .NET SDK alih-alih menginstalnya sebagai Microsoft.CodeAnalysis.NetAnalyzers
paket NuGet. Mengaktifkan penganalisis dari .NET SDK memastikan bahwa Anda secara otomatis mendapatkan perbaikan bug penganalisis dan penganalisis baru segera setelah Anda memperbarui SDK. Untuk informasi selengkapnya tentang penganalisis, lihat Mengaktifkan atau menginstal penganalisis .NET pihak pertama.
Kesalahan build
Untuk menerapkan aturan pada waktu build, dengan menggunakan build baris perintah atau integrasi berkelanjutan (CI), pilih salah satu opsi berikut:
Buat proyek .NET 5.0 atau yang lebih baru, yang memungkinkan analisis kode secara default. Untuk mengaktifkan analisis kode pada proyek yang menargetkan versi .NET sebelumnya, atur properti EnableNETAnalyzers ke
true
.Instal penganalisis sebagai paket NuGet. Jika Anda menginstal penganalisis sebagai ekstensi Visual Studio, peringatan dan kesalahan penganalisis tidak muncul di laporan build.
Cuplikan layar berikut menunjukkan output build baris perintah dari membangun proyek yang berisi pelanggaran aturan penganalisis:
Keparahan aturan
Jika Anda ingin mengonfigurasi tingkat keparahan aturan penganalisis, Anda harus menginstal penganalisis sebagai paket NuGet. Anda tidak dapat mengonfigurasi tingkat keparahan aturan dari penganalisis yang diinstal sebagai ekstensi Visual Studio.