Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memberikan gambaran umum tentang alat Syntax Visualizer yang dikirim sebagai bagian dari .NET Compiler Platform ("Roslyn") SDK. Sintaks Visualizer adalah jendela alat yang membantu Anda memeriksa dan menjelajahi pohon sintaksis. Ini adalah alat penting untuk memahami model untuk kode yang ingin Anda analisis. Ini juga merupakan bantuan debugging saat Anda mengembangkan aplikasi Anda sendiri menggunakan SDK .NET Compiler Platform ("Roslyn"). Buka alat ini saat Anda membuat penganalisis pertama Anda. Visualizer membantu Anda memahami model yang digunakan oleh API. Anda juga dapat menggunakan alat seperti SharpLab atau LINQPad untuk memeriksa kode dan memahami pohon sintaksis.
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.
- Jalankan Alat Penginstal Visual Studio
- Pilih Ubah
- Periksa beban kerja pengembangan ekstensi Visual Studio .
- Buka simpul pengembangan ekstensi Visual Studio di pohon ringkasan.
- 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:
- Buka node Komponen individual di pohon ringkasan.
- Centang kotak untuk editor DGML
Menginstal menggunakan Alat Penginstal Visual Studio - tab Komponen individual
- Jalankan Alat Penginstal Visual Studio
- Pilih Ubah
- Pilih tab Komponen individual
- 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:
- Centang kotak untuk editor DGML. Anda akan menemukannya di bawah bagian Alat kode .
Biasakan diri Anda dengan konsep yang digunakan dalam .NET Compiler Platform SDK dengan membaca artikel gambaran umum . Ini memberikan pengantar tentang pohon sintaksis, simpul, token, dan informasi tambahan.
Pemvisualisasi Sintaksis
Sintaks Visualizer memungkinkan inspeksi pohon sintaks untuk file kode C# atau Visual Basic di jendela editor aktif saat ini di dalam Ide Visual Studio. Visualizer dapat diluncurkan dengan mengklik Tampilkan>Visualizer SintaksWindows> Lainnya. Anda juga dapat menggunakan toolbar Luncur Cepat di sudut kanan atas. Ketik "sintaks", dan perintah untuk membuka Sintaks Visualizer akan muncul.
Perintah ini membuka Sintaks Visualizer sebagai jendela alat mengambang. Jika Anda tidak membuka jendela editor kode, tampilan kosong, seperti yang ditunjukkan pada gambar berikut.
Dock jendela alat ini di lokasi yang nyaman di dalam Visual Studio, seperti sisi kiri. Visualizer memperlihatkan informasi tentang file kode saat ini.
Buat proyek baru menggunakan perintahProyek BaruFile>. Anda dapat membuat proyek Visual Basic atau C#. Saat Visual Studio membuka file kode utama untuk proyek ini, visualizer menampilkan pohon sintaks untuk proyek ini. Anda dapat membuka file C# / Visual Basic yang ada di instans Visual Studio ini, dan visualizer menampilkan pohon sintaks file tersebut. Jika Anda memiliki beberapa file kode yang terbuka di dalam Visual Studio, visualizer menampilkan pohon sintaks untuk file kode yang saat ini aktif, (file kode yang memiliki fokus keyboard.)
Seperti yang ditunjukkan pada gambar sebelumnya, jendela alat visualizer menampilkan pohon sintaks di bagian atas dan kisi properti di bagian bawah. Kisi properti menampilkan properti item yang saat ini dipilih di pohon, termasuk Jenis .NET dan Jenis (SyntaxKind) item.
Pohon sintaksis terdiri dari tiga jenis item – simpul, token, dan trivia. Anda dapat membaca selengkapnya tentang jenis ini di artikel Bekerja dengan sintaksis . Item dari setiap jenis diwakili menggunakan warna yang berbeda. Klik tombol 'Legenda' untuk gambaran umum warna yang digunakan.
Setiap item di pohon juga menampilkan rentangnya sendiri. Rentang indeks adalah posisi awal dan akhir dari simpul tersebut dalam file teks. Dalam contoh C# sebelumnya, token "UsingKeyword [0..5) yang dipilih memiliki Rentang yang lebarnya lima karakter, [0,.5). Notasi "[..)" berarti bahwa indeks awal adalah bagian dari rentang, tetapi indeks akhir tidak.
Ada dua cara untuk menavigasi pohon:
- Perluas atau klik item di pohon. Visualizer secara otomatis memilih teks yang sesuai dengan rentang item ini di editor kode.
- Klik atau pilih teks di editor kode. Dalam contoh Visual Basic sebelumnya, jika Anda memilih baris yang berisi "Modul Module1" di editor kode, visualizer secara otomatis menavigasi ke simpul ModuleStatement yang sesuai di pohon.
Visualizer menyoroti item di pohon yang rentangnya paling cocok dengan rentang teks yang dipilih di editor.
Visualizer me-refresh pohon agar sesuai dengan modifikasi dalam file kode aktif. Tambahkan panggilan ke Console.WriteLine() di dalam Main(). Saat Anda mengetik, visualizer memperbarui pohon.
Berhenti mengetik setelah Anda mengetik Console.. Pohon ini memiliki beberapa item berwarna merah muda. Pada titik ini, ada kesalahan (juga disebut sebagai 'Diagnostik') dalam kode yang diketik. Kesalahan ini melekat pada simpul, token, dan trivia di pohon sintaksis. Visualizer menunjukkan kepada Anda item mana yang memiliki kesalahan yang melekat padanya yang menyoroti latar belakang dalam warna merah muda. Anda dapat memeriksa kesalahan pada item apa pun berwarna merah muda dengan mengarahkan mouse ke atas item. Visualizer hanya menampilkan kesalahan sintaksis (kesalahan yang terkait dengan sintaks kode yang ditik); ini tidak menampilkan kesalahan semantik.
Grafik Sintaks
Klik kanan item apa pun di pohon dan klik Lihat Grafik Sintaks Terarah.
Visualizer menampilkan representasi grafis subtree yang berakar pada item yang dipilih. Coba langkah-langkah ini untuk node MethodDeclaration yang sesuai dengan Main() metode dalam contoh C#. Visualizer menampilkan grafik sintaks yang terlihat sebagai berikut:
Penampil grafik sintaks memiliki opsi untuk menampilkan legenda untuk skema pewarnaannya. Anda juga dapat mengarahkan kursor ke item individual dalam grafik sintaks dengan mouse untuk melihat properti yang sesuai dengan item tersebut.
Anda dapat melihat grafik sintaks untuk item yang berbeda di pohon berulang kali dan grafik akan selalu ditampilkan di jendela yang sama di dalam Visual Studio. Anda dapat menambungkan jendela ini di lokasi yang nyaman di dalam Visual Studio sehingga Anda tidak perlu beralih antar tab untuk melihat grafik sintaks baru. Bagian bawah, di bawah jendela editor kode, sering kali nyaman.
Berikut adalah tata letak docking untuk digunakan dengan jendela alat visualizer dan jendela grafik sintaks:
Opsi lain adalah menempatkan jendela grafik sintaks pada monitor kedua, dalam penyiapan monitor ganda.
Memeriksa semantik
Sintaks Visualizer memungkinkan inspeksi simbol dan informasi semantik yang rudimenter. Ketik double x = 1 + 1; di dalam Main() dalam contoh C#. Kemudian, pilih ekspresi 1 + 1 di jendela editor kode. Visualizer menyoroti simpul AddExpression di dalam visualizer. Klik kanan pada AddExpression ini dan klik Tampilkan Simbol (jika ada). Perhatikan bahwa sebagian besar item menu memiliki kualifikasi "jika ada". Visualiser Sintaks memeriksa properti simpul, termasuk properti yang mungkin tidak ada untuk semua simpul.
Kisi properti di visualizer diperbarui seperti yang ditunjukkan pada gambar berikut: Simbol untuk ekspresi adalah SynthesizedIntrinsicOperatorSymbol dengan Kind = Method.
Klik kanan node AddExpression yang sama dan pilih Tampilkan TypeSymbol (jika ada). Kisi properti pada visualizer diperbarui seperti yang ditunjukkan pada gambar berikut, menunjukkan bahwa tipe ekspresi yang dipilih adalah Int32.
Klik kanan simpul AddExpression yang sama dan pilih Lihat TypeSymbol yang Telah Dikonversi (jika ada). Pembaruan kisi properti yang menunjukkan bahwa meskipun jenis ekspresi adalah Int32, jenis ekspresi yang dikonversi seperti Double yang ditunjukkan pada gambar berikut. Simpul ini mencakup informasi simbol tipe yang dikonversi karena ekspresi Int32 terjadi dalam suatu konteks di mana harus dikonversi menjadi Double. Konversi ini memenuhi jenis yang Double ditentukan untuk variabel x di sisi kiri operator penugasan.
Terakhir, klik kanan simpul AddExpression yang sama dan pilih Tampilkan Nilai Konstanta (jika ada). Kisi properti menunjukkan bahwa nilai ekspresi adalah konstanta waktu kompilasi dengan nilai 2.
Contoh sebelumnya juga dapat direplikasi di Visual Basic. Ketik Dim x As Double = 1 + 1 di dalam file Visual Basic. Pilih ekspresi 1 + 1 di jendela editor kode. Visualizer menyoroti node AddExpression yang sesuai di visualizer. Ulangi langkah-langkah sebelumnya untuk AddExpression ini dan Anda akan melihat hasil yang identik.
Periksa lebih banyak kode di Visual Basic. Perbarui file Visual Basic utama Anda dengan kode berikut:
Imports C = System.Console
Module Program
Sub Main(args As String())
C.WriteLine()
End Sub
End Module
Kode ini memperkenalkan alias bernama C yang dipetakan ke jenis System.Console pada bagian atas berkas dan menggunakan alias ini di dalam Main(). Pilih penggunaan alias ini, C dalam C.WriteLine() di dalam metode Main(). Visualizer memilih node IdentifierName yang sesuai di visualizer. Klik kanan simpul ini dan klik Tampilkan Simbol (jika ada). Kisi properti menunjukkan bahwa pengidentifikasi ini terikat ke jenis System.Console seperti yang ditunjukkan pada gambar berikut:
Klik kanan node IdentifierName yang sama dan pilih Tampilkan AliasSymbol (jika ada). Grid properti menunjukkan pengidentifikasi adalah nama samaran dengan nama C yang terikat pada target System.Console. Dengan kata lain, kisi properti memberikan informasi mengenai AliasSymbol yang sesuai dengan pengidentifikasi C.
Periksa simbol yang sesuai dengan jenis, metode, properti yang dideklarasikan. Pilih simpul yang sesuai di visualizer dan klik kanan untuk mengakses Simbol Tampilan (jika ada). Pilih metode Sub Main(), termasuk isi metode . Klik kanan simpul SubBlock yang sesuai di visualizer dan pilih Tampilkan Simbol (jika ada). Kisi properti menunjukkan MethodSymbol untuk SubBlock ini memiliki nama Main dengan jenis pengembalian Void.
Contoh Visual Basic di atas dapat dengan mudah direplikasi dalam C#. Ketik using C = System.Console; ganti Imports C = System.Console untuk alias. Langkah-langkah sebelumnya dalam C# menghasilkan hasil yang identik di jendela visualizer.
Operasi inspeksi semantik hanya tersedia pada simpul. Mereka tidak tersedia di token atau trivia. Tidak semua simpul memiliki informasi semantik yang menarik untuk diperiksa. Saat simpul tidak memiliki informasi semantik yang menarik, mengklik kanan dan memilih Tampilkan * Simbol (jika ada) memperlihatkan kisi properti kosong.
Anda dapat membaca selengkapnya tentang API untuk melakukan analisis semantik di dokumen Gambaran umum bekerja dengan semantik .
Menutup visualizer sintaks
Anda dapat menutup jendela visualizer saat Anda tidak menggunakannya untuk memeriksa kode sumber. Visualizer sintaks memperbarui tampilannya saat Anda menavigasi melalui kode, mengedit, dan mengubah sumber. Ini bisa mengganggu ketika Anda tidak menggunakannya.