Bagikan melalui


C# IntelliSense

C# IntelliSense adalah bantuan penyelesaian kode khusus bahasa. Ini tersedia untuk Anda saat Anda menulis kode C# di editor kode dan men-debugnya di jendela perintah Mode langsung.

Daftar penyelesaian

Daftar penyelesaian IntelliSense di C# berisi token dari Anggota Daftar, Lengkapi Word, dan lainnya. Ini menyediakan akses cepat ke:

  • Anggota tipe atau namespace

  • Nama variabel, perintah, dan fungsi

  • Cuplikan kode

  • Kata kunci bahasa

  • Metode ekstensi

Daftar penyelesaian dalam C# memfilter token yang tidak relevan dan memilih token sebelumnya berdasarkan konteks. Untuk informasi selengkapnya, lihat Daftar penyelesaian yang difilter.

Cuplikan kode dalam daftar penyelesaian

Di C#, daftar penyelesaian menyertakan cuplikan kode untuk membantu Anda dengan mudah memasukkan isi kode yang telah ditentukan sebelumnya ke dalam program Anda. Cuplikan kode muncul dalam daftar penyelesaian sebagai teks pintasan cuplikan. Untuk informasi selengkapnya tentang cuplikan kode yang tersedia di C# secara default, lihat cuplikan kode C#.

Kata kunci bahasa dalam daftar penyelesaian

Daftar penyelesaian mencakup kata kunci bahasa C# untuk membantu Anda menyisipkannya ke dalam program Anda. Untuk informasi selengkapnya tentang kata kunci bahasa C#, lihat kata kunci C#.

Metode ekstensi dalam daftar penyelesaian

Di C#, daftar penyelesaian menyertakan metode ekstensi yang berada dalam cakupan.

Metode ekstensi menggunakan ikon yang berbeda dari metode instans. Ketika metode instans dan metode ekstensi dengan nama yang sama berada dalam cakupan, daftar penyelesaian menampilkan ikon metode ekstensi.

Catatan

Untuk String objek, daftar penyelesaian tidak menampilkan semua metode ekstensi.

Daftar penyelesaian yang difilter

IntelliSense menghapus anggota yang tidak perlu dari daftar penyelesaian dengan menggunakan filter. C# memfilter daftar penyelesaian yang muncul untuk item ini:

  • Antarmuka dan kelas dasar: IntelliSense secara otomatis menghapus item yang tidak perlu dari daftar penyelesaian kelas antarmuka dan dasar, Penghapusan ini mencakup basis deklarasi kelas, dan daftar antarmuka dan daftar batasan. Misalnya, enum tidak muncul dalam daftar penyelesaian untuk kelas dasar, karena enum tidak dapat digunakan untuk kelas dasar. Daftar penyelesaian kelas dasar hanya berisi antarmuka dan namespace. Jika Anda memilih item dalam daftar lalu mengetik kunci Koma, IntelliSense akan menghapus kelas dasar dari daftar penyelesaian. Hal ini dilakukan karena C# tidak mendukung beberapa warisan. Perilaku yang sama juga terjadi untuk klausul batasan.

  • Atribut: Saat Anda menerapkan atribut ke jenis, daftar penyelesaian difilter sehingga daftar hanya berisi jenis yang turun dari namespace yang berisi jenis tersebut. Contohnya,Attribute.

  • Menangkap klausa: Hanya kata kunci try-catch yang valid yang muncul dalam daftar penyelesaian.

  • Penginisialisasi objek: Hanya anggota yang dapat diinisialisasi yang muncul dalam daftar penyelesaian.

  • kata kunci baru: Saat Anda mengetik new lalu menekan tombol Spasi , daftar penyelesaian akan muncul. IntelliSense secara otomatis memilih item dalam daftar, berdasarkan konteks dalam kode Anda. Misalnya, IntelliSense secara otomatis memilih item dalam daftar penyelesaian untuk deklarasi dan untuk pernyataan pengembalian dalam metode.

  • kata kunci enum: Saat Anda menekan tombol Spasi setelah tanda sama dengan untuk penetapan enum, daftar penyelesaian akan muncul. IntelliSense secara otomatis memilih item dalam daftar, berdasarkan konteks dalam kode Anda. Misalnya, IntelliSense secara otomatis memilih item dalam daftar penyelesaian setelah Anda mengetik return kata kunci dan saat Anda membuat deklarasi.

  • sebagai dan adalah operator: IntelliSense secara otomatis menampilkan daftar penyelesaian yang difilter saat Anda menekan tombol Spasi setelah Anda mengetik kata as kunci atau is .

  • Peristiwa: Saat Anda mengetik kata kunci event, daftar penyelesaian hanya berisi jenis delegasi.

  • Bantuan parameter: IntelliSense secara otomatis mengurutkan ke overload metode pertama yang cocok dengan parameter saat Anda memasukkannya. Jika beberapa metode kelebihan beban tersedia, Anda dapat menggunakan panah atas dan bawah untuk menavigasi ke kemungkinan kelebihan beban berikutnya dalam daftar.

Anggota yang terakhir digunakan

IntelliSense mengingat anggota yang baru-baru ini Anda pilih di kotak Anggota Daftar pop-up untuk penyelesaian nama objek otomatis. Saat berikutnya Anda menggunakan Daftar Anggota, anggota yang terakhir digunakan ditampilkan di bagian atas. IntelliSense menghapus riwayat anggota yang terakhir digunakan di antara setiap sesi Visual Studio.

ambil alih

Saat Anda mengetik ambil alih lalu tekan tombol Spasi , IntelliSense menampilkan semua anggota kelas dasar yang valid yang dapat Anda ambil alih dalam kotak daftar pop-up. Mengetik jenis pengembalian metode setelah override meminta IntelliSense untuk hanya menampilkan metode yang mengembalikan jenis yang sama. Jika IntelliSense tidak dapat menemukan kecocokan apa pun, IntelliSense akan menampilkan semua anggota kelas dasar.

IntelliSense yang disempurnakan AI

Visual Studio IntelliCode menyediakan daftar penyelesaian IntelliSense yang disempurnakan kecerdasan buatan. IntelliCode memprediksi API yang paling mungkin benar untuk digunakan daripada hanya menyajikan daftar anggota alfabet. Ini menggunakan konteks dan pola kode Anda saat ini untuk menyediakan daftar dinamis.

Pembuatan kode otomatis

Tambahkan menggunakan

Operasi Tambahkan menggunakan IntelliSense secara otomatis menambahkan arahan yang diperlukan using ke file kode Anda. Fitur ini memungkinkan Anda untuk mempertahankan fokus Anda pada kode yang Anda tulis daripada mengharuskan Anda untuk mengalihkan fokus Anda ke bagian lain dari kode.

Untuk memulai operasi Tambahkan menggunakan , posisikan kursor pada referensi jenis yang tidak dapat diselesaikan. Misalnya, saat Anda membuat aplikasi konsol lalu menambahkan XmlReader ke isi Main metode, garis berlekuk merah muncul di baris kode tersebut karena referensi jenis tidak dapat diselesaikan. Anda kemudian dapat memanggil operasi Tambahkan menggunakan melalui menu Tindakan Cepat. Item menu menggunakan <namespace> hanya terlihat ketika kursor diposisikan pada referensi yang tidak terselesaikan.

Untuk contoh ini, untuk menambahkan using direktif secara otomatis ke kode Anda, pilih ikon bola lampu kesalahan, lalu pilih menggunakan System.Xml;.

Cuplikan layar yang memperlihatkan operasi Tambahkan menggunakan dengan gambar pratinjau.

Menambahkan hilang menggunakan direktif saat menempel

IntelliSense dapat secara otomatis menambahkan arahan yang hilang using ke kode Anda saat Anda menempelkan jenis ke file kode Anda. Fitur ini menghemat waktu Anda dengan mengotomatiskan tugas penambahan yang hilang menggunakan arahan saat menempelkan jenis ke file.

Untuk mengaktifkan fitur ini:

  1. Pilih Alat>Opsi.
  2. Pilih Editor>Teks C# (atau Visual Basic) >Tingkat Lanjut dari panel kiri.
  3. Di bawah Menggunakan Direktif, pilih Tambahkan hilang menggunakan direktif saat menempelkan.

Menghapus dan mengurutkan menggunakan

Opsi Hapus dan Urutkan Menggunakan mengurutkan dan menghapus using serta extern deklarasi tanpa mengubah perilaku kode sumber. Seiring waktu, file sumber mungkin menjadi terlalu besar dan sulit dibaca karena arahan yang tidak perlu dan tidak terorganisir using . Opsi Hapus dan Urutkan Menggunakan memadamkan kode sumber dengan menghapus arahan yang tidak digunakan using , dan meningkatkan keterbacaan dengan mengurutkannya.

Untuk menggunakan opsi ini, pilih Edit>IntelliSense>Urutkan Menggunakan dari bilah menu, atau klik kanan di editor kode dan pilih Hapus dan Urutkan Menggunakan.

Menerapkan antarmuka

IntelliSense menyediakan opsi untuk membantu Anda menerapkan antarmuka saat Anda bekerja di editor kode. Biasanya, untuk menerapkan antarmuka dengan benar, Anda harus membuat deklarasi metode untuk setiap anggota antarmuka di kelas Anda. Setelah Anda mengetikkan nama antarmuka dalam deklarasi kelas, IntelliSense menampilkan bola lampu Tindakan Cepat. Bola lampu memberi Anda opsi untuk mengimplementasikan antarmuka secara otomatis, menggunakan penamaan eksplisit atau implisit. Di bawah penamaan eksplisit, deklarasi metode membawa nama antarmuka. Di bawah penamaan implisit, deklarasi metode tidak menunjukkan antarmuka tempat mereka berada. Metode antarmuka bernama secara eksplisit hanya dapat diakses melalui instans antarmuka, dan bukan melalui instans kelas. Untuk informasi selengkapnya, lihat Implementasi antarmuka eksplisit.

Antarmuka implementasi menghasilkan jumlah minimum stub metode yang diperlukan untuk memenuhi antarmuka. Jika kelas dasar mengimplementasikan bagian antarmuka, maka stub tersebut tidak diregenerasi.

Menerapkan kelas dasar abstrak

IntelliSense menyediakan opsi untuk membantu Anda menerapkan anggota kelas dasar abstrak secara otomatis saat bekerja di editor kode. Biasanya, untuk menerapkan anggota kelas dasar abstrak memerlukan pembuatan definisi metode baru untuk setiap metode kelas dasar abstrak di kelas turunan Anda. Setelah Anda mengetikkan nama kelas dasar abstrak dalam deklarasi kelas, IntelliSense menampilkan bola lampu Tindakan Cepat. Bola lampu memberi Anda opsi untuk mengimplementasikan metode kelas dasar secara otomatis.

Stub metode yang dihasilkan oleh fitur Implement Abstract Base Class dimodelkan oleh cuplikan kode yang ditentukan dalam file MethodStub.snippet. Cuplikan kode dapat dimodifikasi. Untuk informasi selengkapnya, lihat Panduan: Membuat cuplikan kode di Visual Studio.

Hasilkan dari penggunaan

Fitur Buat Dari Penggunaan memungkinkan Anda menggunakan kelas dan anggota sebelum Menentukannya. Anda dapat membuat stub untuk kelas, konstruktor, metode, properti, bidang, atau enum apa pun yang ingin Anda gunakan tetapi tidak ditentukan. Anda dapat menghasilkan jenis dan anggota baru tanpa meninggalkan lokasi Anda saat ini dalam kode. Melakukannya meminimalkan gangguan pada alur kerja Anda.

Garis berlekuk merah muncul di bawah setiap pengidentifikasi yang tidak ditentukan. Saat Anda mengarahkan kursor ke penunjuk mouse pada pengidentifikasi, pesan kesalahan muncul di tipsalat. Untuk menampilkan opsi yang sesuai, gunakan salah satu prosedur berikut:

  • Pilih pengidentifikasi yang tidak ditentukan. Bola lampu kesalahan Tindakan Cepat muncul di bawah pengidentifikasi. Pilih bola lampu kesalahan.

  • Pilih pengidentifikasi yang tidak ditentukan, lalu tekan Periode Ctrl+(.).

  • Klik kanan pengidentifikasi yang tidak ditentukan, lalu pilih Tindakan Cepat dan Pemfaktoran Ulang.

Opsi berikut ini bisa muncul:

  • Buat properti

  • Hasilkan bidang

  • Hasilkan metode

  • Membuat kelas

  • Hasilkan jenis baru (untuk kelas, struct, antarmuka, atau enum)

Hasilkan penanganan aktivitas

Di editor kode, IntelliSense dapat membantu Anda menghubungkan metode (penanganan aktivitas) ke bidang peristiwa.

Saat Anda mengetik += operator setelah bidang peristiwa dalam file .cs , IntelliSense meminta Anda dengan opsi untuk menekan tombol Tab . Ini menyisipkan instans baru delegasi yang menunjuk ke metode penanganan peristiwa.

Cuplikan layar yang memperlihatkan metode penanganan aktivitas yang diminta.

Jika Anda menekan tombol Tab , IntelliSense secara otomatis menyelesaikan pernyataan untuk Anda dan menampilkan referensi penanganan aktivitas sebagai teks yang dipilih di editor kode. Untuk menyelesaikan hookup peristiwa otomatis, IntelliSense meminta Anda untuk menekan tombol Tab lagi untuk membuat stub kosong untuk penanganan aktivitas.

Cuplikan layar yang memperlihatkan metode penanganan aktivitas yang dihasilkan.

Jika Anda menekan tombol Tab lagi, IntelliSense menambahkan stub metode dengan tanda tangan yang benar dan menempatkan kursor di isi penanganan aktivitas Anda.

Jika delegasi baru yang dibuat oleh IntelliSense mereferensikan penanganan aktivitas yang ada, IntelliSense mengomunikasikan informasi ini dalam tipsalat. Anda kemudian dapat mengubah referensi ini; teks sudah dipilih di editor kode. Jika tidak, hookup peristiwa otomatis sekarang selesai.

Catatan

Gunakan perintah Navigasi Mundur pada menu Tampilan (Ctrl+-) untuk kembali ke pernyataan hookup peristiwa.