Mengedit dan memfaktorkan ulang kode C++ di Visual Studio
Visual Studio menyediakan beberapa alat untuk membantu Anda menulis, mengedit, dan memfaktorkan ulang kode Anda.
IntelliSense
IntelliSense adalah alat penyelesaian kode yang kuat yang menyarankan simbol dan cuplikan kode untuk Anda saat Anda mengetik. C++ IntelliSense di Visual Studio berjalan secara real time, menganalisis dasar kode saat Anda memperbaruinya dan memberikan rekomendasi. Saat Anda mengetik lebih banyak karakter, daftar hasil yang disarankan akan menyempit.
Beberapa simbol dihilangkan secara otomatis untuk membantu mempersempit hasil. Misalnya, saat mengakses anggota objek kelas dari luar kelas, Anda tidak akan dapat melihat anggota privat secara default, atau anggota yang dilindungi (jika Anda tidak berada dalam konteks kelas anak). Anda dapat menyesuaikan pemfilteran dengan menggunakan tombol di bagian bawah.
Setelah Anda memilih simbol dari daftar drop-down, Anda dapat melengkapinya secara otomatis dengan Tab, Enter, atau salah satu karakter commit lainnya (secara default: { } [ ] ( ) . , : ; + - * / % & | ^ ! = ? @ # \
). Untuk menambahkan atau menghapus karakter dari daftar ini, cari "IntelliSense" di Pengaktifan Cepat (Ctrl + Q) dan pilih opsi Editor Teks > C/C++ > Tingkat Lanjut. Opsi Daftar Anggota Karakter Commit memungkinkan Anda menyesuaikan daftar dengan perubahan yang diinginkan.
Opsi Mode Filter Daftar Anggota mengontrol jenis saran pelengkap otomatis IntelliSense yang Anda lihat. Secara default, diatur ke Fuzzy. Dalam pencarian Fuzzy, jika Anda memiliki simbol yang disebut MyAwesomeClass, Anda dapat mengetik "MAC" dan menemukan kelas tersebut di saran lengkapi otomatis Anda. Algoritme fuzzy menetapkan ambang batas minimum yang harus dipenuhi simbol untuk muncul dalam daftar. Pemfilteran Cerdas menampilkan semua simbol yang berisi substring yang cocok dengan apa yang Anda ketik. Pemfilteran Prefiks mencari string yang dimulai dengan apa yang Anda ketik.
Untuk informasi selengkapnya tentang C++ IntelliSense, lihat Visual C++ IntelliSense dan Mengonfigurasi proyek C++ untuk IntelliSense.
IntelliCode
IntelliCode adalah IntelliSense yang dibantu AI. IntelliCode menempatkan kandidat yang paling mungkin di bagian atas daftar penyelesaian Anda. Rekomendasi IntelliCode didasarkan pada ribuan proyek sumber terbuka di GitHub, masing-masing dengan lebih dari 100 bintang. Ketika dikombinasikan dengan konteks kode Anda, daftar penyelesaian disesuaikan untuk mempromosikan praktik umum.
Saat menulis C++, IntelliCode akan membantu saat menggunakan pustaka populer, seperti Pustaka Standar C++. Konteks kode Anda digunakan untuk memberikan rekomendasi yang paling berguna terlebih dahulu. Dalam contoh berikut, size
fungsi anggota umumnya digunakan dengan sort
fungsi , sehingga muncul ke bagian atas daftar hasil.
Di Visual Studio 2022 dan Visual Studio 2019, IntelliCode tersedia sebagai komponen opsional dalam beban kerja Pengembangan Desktop C++. Untuk memastikan bahwa IntelliCode aktif untuk C++, buka Alat>Opsi>IntelliCode>Umum dan setel mode dasar C++ ke Diaktifkan.
Di Visual Studio 2017, IntelliCode tersedia sebagai ekstensi Visual Studio Marketplace.
IntelliSense Prediktif (Eksperimental)
IntelliSense Prediktif adalah fitur eksperimental yang menggunakan kesadaran kontekstual untuk membatasi jumlah hasil yang ditampilkan di daftar dropdown IntelliSense. Algoritme menerapkan pencocokan tipe sehingga hanya menampilkan hasil yang cocok dengan tipe yang diharapkan. Dalam kasus yang paling sederhana, jika Anda mengetik int x =
dan menggunakan dropdown IntelliSense, Anda hanya akan melihat bilangan bulat atau fungsi yang mengembalikan bilangan bulat. Fitur ini nonaktif secara default karena masih dalam pengembangan. Ini bekerja paling baik dengan simbol global; fungsi anggota belum didukung. Anda dapat mengaktifkannya dengan mengetik "Prediktif" di Pengaktifan Cepat atau dengan membuka Alat>Opsi>Editor Teks>C/C++>Eksperimental>Aktifkan IntelliSense Prediktif.
Untuk mengambil alih IntelliSense Prediktif dan menunjukkan daftar yang lebih panjang, tekan Ctrl + J. Jika IntelliSense Prediktif aktif, menggunakan Ctrl + J akan menghapus filter Prediktif. Menekan Ctrl + J lagi akan menghapus filter aksesibilitas dari hasil Daftar Anggota jika relevan. Tombol ([+]) di bawah daftar dropdown IntelliSense melakukan hal yang sama seperti Ctrl + J. Arahkan kursor ke tombol tersebut untuk melihat informasi tip alat tentang apa yang sedang ditampilkan.
Screenshot sebelumnya menunjukkan beberapa tombol di bawah daftar dropdown. Tombol-tombol ini mengaktifkan filter IntelliSense untuk berbagai jenis hasil:
- Variabel dan Konstanta
- Fungsi
- Jenis
- Makro
- Enums
- Namaspace
Tombol ditampilkan hanya jika relevan dengan sesi IntelliSense Anda saat ini. Anda biasanya tidak melihat semua tombol secara bersamaan.
IntelliSense Templat
Bilah templat adalah elemen UI yang muncul saat kursor Anda berada pada definisi templat. Ini berguna karena Anda dapat memberikan contoh argumen templat untuk intellisense yang akan muncul saat Anda mengedit isi templat. Misalnya, Anda dapat menentukan bahwa argumen templat berjenis std::vector<int>
. Kemudian, saat Anda menggunakan argumen tersebut di isi templat, Anda akan melihat anggota std::vector<int>
dalam intellisense.
Klik ikon <T> untuk memperluas/menciutkan Bilah Templat. Klik ikon pensil atau klik dua kali Bilah Templat untuk membuka jendela Edit tempat Anda menentukan jenis argumen untuk parameter.
Bilah Templat dapat mengisi jenis parameter secara otomatis berdasarkan instans templat dalam kode Anda. Klik Tambahkan Semua Instansiasi yang Ada untuk melihat daftar semua argumen konkret yang telah digunakan untuk membuat instans templat di seluruh dasar kode Anda.
Jendela di bagian bawah editor menunjukkan di mana setiap instansiasi ditemukan dan apa argumennya. Anda dapat memilih instansiasi untuk masuk ke lokasi dalam kode Anda tempat instansiasi tersebut ditemukan.
Informasi Bilah Templat khusus pengguna. Ini disimpan di .vs
folder dan tidak berkomitmen untuk kontrol sumber.
Coretan kesalahan dan perbaikan cepat
Jika editor mendeteksi masalah dengan kode Anda, editor akan menambahkan coretan berwarna di bawah masalah. Coretan merah menunjukkan kode yang tidak dapat dikompilasi. Coretan hijau menunjukkan jenis masalah lain yang mungkin masih berpotensi serius. Anda dapat membuka jendela Daftar Kesalahan untuk mendapatkan informasi selengkapnya tentang masalah tersebut.
Untuk beberapa jenis kesalahan, dan pola pengkodian umum, editor akan menawarkan Perbaikan Cepat dalam bentuk bola lampu yang muncul ketika Anda mengarahkan kumparan ke atas berlekuk. Klik panah bawah untuk melihat saran.
Dalam contoh berikut, sebuah vector
dideklarasikan, tetapi tidak ada definisi yang ditemukan, sehingga editor menawarkan untuk menyertakan file header yang dibutuhkan:
Editor juga menawarkan Perbaikan Cepat untuk beberapa peluang pemfaktoran ulang. Misalnya, jika Anda mendeklarasikan sebuah kelas dalam file header, Visual Studio akan menawarkan untuk membuat definisi untuk kelas tersebut di file .cpp terpisah.
Pelacakan perubahan
Setiap kali Anda membuat perubahan pada file, bilah kuning akan muncul di sebelah kiri untuk menunjukkan bahwa perubahan yang belum disimpan telah dibuat. Saat Anda menyimpan file tersebut, bilah akan berubah hijau. Bilah hijau dan kuning akan dipertahankan selama dokumen terbuka di editor. Mereka mewakili perubahan yang dibuat sejak terakhir kali Anda membuka dokumen.
Pindahkan kode
Anda dapat memindahkan baris kode ke atas dan ke bawah dengan memilihnya, menekan dan menahan tombol Alt, serta menekan tombol panah Atas/Bawah.
Sisipkan cuplikan
Cuplikan adalah bagian kode sumber yang telah ditentukan sebelumnya. Klik kanan pada satu titik atau pada teks yang dipilih dan pilih Cuplikan untuk menyisipkan cuplikan atau mengelilingi teks yang dipilih dengan cuplikan. Ilustrasi berikut menunjukkan tiga langkah untuk mengelilingi pernyataan yang dipilih dengan pengulangan for. Sorotan kuning pada gambar akhir adalah bidang yang dapat diedit yang Anda akses dengan tombol tab. Untuk informasi selengkapnya, lihat Cuplikan Kode.
Fungsi dipilih. Di menu dropdown yang muncul setelah klik kanan pada nama fungsi, Kelilingi Dengan... disorot dengan warna kuning. Di menu drop-down Keliling Dengan: , cuplikan untuk perulangan 'for' dipilih. Ini menghasilkan menempatkan untuk perulangan di sekitar fungsi. Variabel dan batas perulangan ditampilkan dalam warna kuning untuk menunjukkan bahwa variabel tersebut adalah bidang yang dapat diedit.
Tambahkan Kelas
Tambahkan kelas baru dari menu Proyek, atau dari menu konteks di Penjelajah Solusi:
Anda juga dapat menggunakan Wizard Kelas untuk memodifikasi atau memeriksa kelas yang sudah ada.
Untuk informasi selengkapnya, lihat Menambahkan Fungsionalitas dengan Wizard Kode (C++).
Pemfaktoran ulang
Pemfaktoran ulang tersedia di bawah menu konteks Tindakan Cepat atau dengan mengklik bohlam lampu di editor. Beberapa juga ditemukan di menu Edit > Pemfaktoran Ulang. Fitur ini mencakup:
- Ubah nama
- Fungsi Ekstrak
- Menerapkan Virtual Murni
- Membuat Deklarasi/Definisi
- Memindahkan Definisi Fungsi
- Mengonversikan ke Literal String Mentah
- Mengubah Tanda Tangan
Penerapan gaya kode dengan ClangFormat dan EditorConfig
Visual Studio 2017 dan yang lebih baru dilengkapi dengan dukungan bawaan untuk ClangFormat, utilitas pemformatan kode populer untuk C++ berdasarkan Clang/LLVM. Ketik "ClangFormat" ke dalam Pengaktifan Cepat untuk mengaturnya agar menggunakan salah satu format umum berikut:
- LLVM
- Chromium
- Mozilla
- WebKit
- Visual Studio
Anda juga dapat menyediakan sendiri .clang-format
atau _clang-format
file Anda untuk menerapkan aturan kustom ke semua file kode pada tingkat yang sama atau di bawah ini.
File dapat dibagikan dengan mudah melalui kontrol sumber, sehingga Anda dapat menerapkan konvensi pengodean di seluruh tim pengembangan Anda.
Visual Studio 2017 dan versi yang lebih baru juga mendukung EditorConfig, yang bekerja dengan cara yang serupa. Namun, ClangFormat memiliki lebih banyak opsi gaya daripada EditorConfig, termasuk aturan yang dikhususkan untuk C++. Dengan EditorConfig, Anda membuat file .editorconfig dan menempatkannya di folder yang berbeda dari dasar kode Anda untuk menentukan gaya kode untuk folder tersebut dan subfoldernya. File .editorconfig menggantikan file .editorconfig lainnya di folder induk dan menimpa pengaturan pemformatan apa pun yang dikonfigurasi melalui Alat>Opsi. Anda dapat menentukan aturan untuk tab vs. spasi, ukuran indentasi, dan lain-lain. Untuk informasi selengkapnya, lihat Membuat pengaturan editor kustom portabel dengan EditorConfig.
Opsi pemformatan lainnya
Kotak pencarian Pengaktifan Cepat menyediakan cara tercepat untuk menemukan pengaturan atau alat. Lokasinya ada di menu utama. Mulailah mengetik dan daftar pelengkap otomatis akan memfilter hasilnya.
Untuk mengatur opsi pemformatan seperti inden, penyelesaian kurung awal, dan pewarnaan, ketik "Pemformatan C++" ke dalam jendela Pengaktifan Cepat.
Opsi pemformatan lain dapat ditemukan di bawah Edit>Tingkat Lanjut di menu utama.
Opsi untuk mengaktifkan dan mengonfigurasi fitur pengaktifan khusus C++ terletak di bawah Alat>Opsi>Editor Teks>C/C++. Setelah memilih opsi mana yang ingin Anda atur, Anda bisa mendapatkan bantuan lainnya dengan menekan F1 ketika dialog sedang fokus. Untuk opsi pemformatan kode umum, ketik Editor C++
ke dalam Pengaktifan Cepat.
Fitur eksperimental, yang mungkin atau mungkin tidak disertakan dalam versi Visual Studio yang akan datang, dapat di temukan dalam dialog Editor Teks C++ Eksperimental. Dalam Visual Studio 2017 dan versi yang lebih baru, Anda dapat mengaktifkan IntelliSense Prediktif dalam dialog ini.
Lihat Juga
Membaca dan memahami kode C++
Navigasikan dasar kode C++ Anda di Visual Studio
Berkolaborasi dengan Live Share untuk C++