Bagikan melalui


The .NET Compiler Platform SDK

Kompiler membangun model terperinci kode aplikasi saat memvalidasi sintaks dan semantik kode tersebut. Mereka menggunakan model ini untuk membangun output yang dapat dieksekusi dari kode sumber. .NET Compiler Platform SDK menyediakan akses ke model ini. Semakin banyak, kami mengandalkan fitur integrated development environment (IDE) seperti IntelliSense, refactoring, intelligent rename, "Find all references," dan "Go to definition" untuk meningkatkan produktivitas kami. Kami mengandalkan alat analisis kode untuk meningkatkan kualitas kode kami, dan generator kode untuk membantu dalam konstruksi aplikasi. Saat alat-alat ini semakin cerdas, mereka membutuhkan akses ke semakin banyak model yang hanya dibuat kompilator saat memproses kode aplikasi. Ini adalah misi inti dari API Roslyn: membuka kotak yang tidak transparan dan memungkinkan alat serta pengguna akhir untuk berbagi dalam kekayaan informasi yang dimiliki oleh pengompilasi tentang kode kami. Alih-alih menjadi penerjemah kode sumber-masuk dan kode objek-keluar yang tidak transparan, melalui Roslyn, kompilator menjadi platform: API yang dapat Anda gunakan untuk tugas terkait kode di alat dan aplikasi Anda.

Konsep .NET Compiler Platform SDK

.NET Compiler Platform SDK secara signifikan mengurangi hambatan untuk masuk dalam pembuatan alat dan aplikasi yang berfokus pada pemrograman. Ini menciptakan banyak peluang untuk inovasi di bidang seperti pemrograman meta, pembuatan dan transformasi kode, penggunaan interaktif bahasa C# dan Visual Basic, dan penyematan C# dan Visual Basic dalam bahasa khusus domain.

.NET Compiler Platform SDK memungkinkan Anda membangun penganalisis dan perbaikan kode yang menemukan dan memperbaiki kesalahan pengodean. Penganalisis memahami sintaks (struktur kode) dan semantik untuk mendeteksi praktik yang harus dikoreksi. Perbaikan kode menyediakan satu atau beberapa perbaikan yang disarankan untuk mengatasi kesalahan pengodean yang ditemukan oleh penganalisis atau diagnostik kompilator. Biasanya, penganalisis dan perbaikan kode terkait dipaketkan bersama-sama dalam satu proyek.

Penganalisis dan perbaikan kode menggunakan analisis statis untuk memahami kode. Mereka tidak menjalankan kode atau memberikan manfaat pengujian lainnya. Namun, mereka dapat menunjukkan praktik yang sering kali menyebabkan bug, kode yang tidak dapat dipelihara, atau pelanggaran pedoman standar.

Selain penganalisis dan perbaikan kode, .NET Compiler Platform SDK juga memungkinkan Anda untuk mengembangkan refaktor kode. Ini juga menyediakan satu set API yang memungkinkan Anda memeriksa dan memahami basis kode C# atau Visual Basic. Karena Anda dapat menggunakan basis kode tunggal ini, Anda dapat menulis penganalisis dan perbaikan kode dengan lebih mudah dengan memanfaatkan API analisis sintaktik dan semantik yang disediakan oleh .NET Compiler Platform SDK. Dibebaskan dari tugas besar mereplikasi analisis yang dilakukan oleh pengkompilasi, Anda dapat berkonsentrasi pada tugas yang lebih terfokus untuk menemukan dan memperbaiki kesalahan pengodean umum untuk proyek atau pustaka Anda.

Manfaat yang lebih kecil adalah bahwa penganalisis dan perbaikan kode Anda lebih kecil dan menggunakan memori yang jauh lebih sedikit saat dimuat di Visual Studio daripada jika Anda menulis basis kode Anda sendiri untuk memahami kode dalam proyek. Dengan memanfaatkan kelas yang sama yang digunakan oleh pengkompilasi dan Visual Studio, Anda dapat membuat alat analisis statis Anda sendiri. Ini berarti tim Anda dapat menggunakan penganalisis dan perbaikan kode tanpa dampak nyata pada performa IDE.

Ada tiga skenario utama untuk menulis penganalisis dan perbaikan kode:

  1. Menerapkan standar pengodean tim
  2. Berikan panduan dengan paket pustaka
  3. Memberikan panduan umum

Menerapkan standar pengodean tim

Banyak tim memiliki standar pengkodean yang diberlakukan melalui tinjauan kode dengan anggota tim lain. Penganalisis dan perbaikan kode dapat membuat proses ini jauh lebih efisien. Tinjauan kode terjadi ketika pengembang berbagi pekerjaan mereka dengan orang lain di tim. Pengembang akan berinvestasi sepanjang waktu yang diperlukan untuk menyelesaikan fitur baru sebelum mendapatkan komentar apa pun. "Beberapa minggu mungkin berlalu sementara pengembang memperkuat kebiasaan yang tidak sesuai dengan praktik tim."

Penganalisis dijalankan ketika pengembang menulis kode. Pengembang mendapatkan umpan balik langsung yang mendorong mengikuti panduan segera. Pengembang membangun kebiasaan untuk menulis kode yang sesuai segera setelah mereka mulai membuat prototipe. Ketika fitur siap untuk ditinjau manusia, semua panduan standar telah diberlakukan.

Tim dapat membangun alat penganalisis dan alat perbaikan kode yang mencari praktik umum yang melanggar standar pengodean tim. Ini dapat diinstal pada setiap komputer pengembang untuk menegakkan standar.

Petunjuk / Saran

Sebelum Anda membangun penganalisis sendiri, lihat penganalisis bawaan. Untuk informasi selengkapnya, lihat Aturan gaya kode.

Berikan panduan dengan paket pustaka

Ada banyak pustaka yang tersedia untuk pengembang .NET di NuGet. Beberapa di antaranya berasal dari Microsoft, beberapa dari perusahaan pihak ketiga, dan lainnya dari anggota komunitas dan sukarelawan. Pustaka ini mendapatkan lebih banyak adopsi dan ulasan yang lebih tinggi ketika pengembang dapat berhasil dengan pustaka tersebut.

Selain menyediakan dokumentasi, Anda dapat menyediakan penganalisis dan perbaikan kode yang menemukan dan memperbaiki kesalahan penggunaan umum pustaka Anda. Koreksi langsung ini akan membantu pengembang berhasil lebih cepat.

Anda dapat mengemas alat analisis dan pemecahan masalah kode bersama pustaka Anda di NuGet. Dalam skenario itu, setiap pengembang yang menginstal paket NuGet Anda juga akan menginstal paket penganalisis. Semua pengembang yang menggunakan pustaka Anda akan segera mendapatkan panduan dari tim Anda dalam bentuk umpan balik segera tentang kesalahan dan koreksi yang disarankan.

Memberikan panduan umum

Komunitas pengembang .NET telah menemukan, melalui pengalaman, pola yang bekerja dengan baik dan pola yang paling baik dihindari. Beberapa anggota komunitas telah membuat penganalisis yang menegakkan pola yang direkomendasikan tersebut. Seperti yang kita pelajari lebih lanjut, selalu ada ruang untuk ide-ide baru.

Penganalisis ini dapat diunggah ke Visual Studio Marketplace dan diunduh oleh pengembang menggunakan Visual Studio. Pendatang baru dalam bahasa dan platform belajar praktik yang diterima dengan cepat dan menjadi produktif lebih awal dalam perjalanan .NET mereka. Ketika ini menjadi lebih banyak digunakan, komunitas mengadopsi praktik-praktik ini.

Generator sumber

Generator kode sumber bertujuan untuk mengaktifkan metaprogramming waktu kompilasi, yaitu kode yang dapat dibuat selama kompilasi dan ditambahkan ke dalam kompilasi. Generator sumber dapat membaca konten kompilasi sebelum berjalan, serta mengakses file tambahan apa pun. Kemampuan ini memungkinkan mereka untuk mengintrospiksi kode C# pengguna dan file khusus generator. Anda dapat mempelajari cara membangun pembangkit kode sumber inkremental menggunakan panduan generator sumber.

Langkah selanjutnya

.NET Compiler Platform SDK mencakup model objek bahasa terbaru untuk pembuatan kode, analisis, dan pemfaktoran ulang. Bagian ini memberikan gambaran umum konseptual dari .NET Compiler Platform SDK. Detail lebih lanjut dapat ditemukan di bagian panduan memulai cepat, contoh, dan tutorial.

Anda dapat mempelajari lebih lanjut tentang konsep di .NET Compiler Platform SDK dalam lima topik ini:

Untuk memulai, Anda harus menginstal .NET Compiler Platform SDK:

Instruksi penginstalan - Penginstal Visual Studio

Ada dua cara berbeda untuk menemukan .NET Compiler Platform SDK di Alat Penginstal Visual Studio:

Menginstal menggunakan Visual Studio Installer - Tampilan beban kerja

.NET Compiler Platform SDK tidak dipilih secara otomatis sebagai bagian dari beban kerja pengembangan ekstensi Visual Studio. Anda harus memilihnya sebagai komponen opsional.

  1. Jalankan Alat Penginstal Visual Studio
  2. Pilih Ubah
  3. Periksa beban kerja pengembangan ekstensi Visual Studio .
  4. Buka simpul pengembangan ekstensi Visual Studio di pohon ringkasan.
  5. Centang kotak untuk .NET Compiler Platform SDK. Anda akan menemukannya terakhir di bawah komponen opsional.

Secara opsional, Anda juga ingin editor DGML menampilkan grafik di visualizer:

  1. Buka node Komponen individual di pohon ringkasan.
  2. Centang kotak untuk editor DGML

Menginstal menggunakan Alat Penginstal Visual Studio - tab Komponen individual

  1. Jalankan Alat Penginstal Visual Studio
  2. Pilih Ubah
  3. Pilih tab Komponen individual
  4. Centang kotak untuk .NET Compiler Platform SDK. Anda akan menemukannya di bagian atas di bawah bagian Pengkompilasi, alat build, dan runtime .

Secara opsional, Anda juga ingin editor DGML menampilkan grafik di visualizer:

  1. Centang kotak untuk editor DGML. Anda akan menemukannya di bawah bagian Alat kode .