Bagikan melalui


Alat IDE Visual Studio untuk memutakhirkan kode C++

Visual Studio membantu Anda meningkatkan kode C++ warisan dengan opsi pengkompilasi, peringatan analisis kode, dan fitur editor seperti Perbaikan Cepat, Info Cepat, dan bilah gulir yang disempurnakan. Istilah "kode warisan" mengacu pada salah satu kategori ini:

  • Kode yang sebelumnya diizinkan oleh pengkompilasi Microsoft C++ (MSVC) tetapi tidak pernah sesuai dengan standar C++.

    Untuk meningkatkan kode MSVC yang lebih lama yang tidak sesuai, aktifkan /permissive- opsi pengkompilasi. Semua instans penggunaan yang tidak sesuai digaris bawahi dengan berlekuk merah di editor kode. Pesan kesalahan di jendela Daftar Kesalahan menyertakan rekomendasi tentang cara memperbaiki kesalahan. Klik kode kesalahan untuk masuk ke halaman bantuannya dalam dokumentasi. Jika memperbaiki semua kesalahan sekaligus tidak praktis, Anda dapat meningkatkan kode yang tidak sesuai secara bertahap dengan mengaktifkan /permissive- opsi, memperbaiki beberapa kesalahan, lalu menonaktifkan opsi lagi. Kode akan dikompilasi dengan peningkatan baru, dan Anda dapat kembali dan memperbaiki masalah yang tersisa di lain waktu. Lihat halaman /permissive- untuk contoh kode MSVC yang tidak sesuai.

  • Kode yang diizinkan dalam versi standar C++ sebelumnya tetapi telah ditolak atau dihapus di versi yang lebih baru.

    Untuk meningkatkan ke standar bahasa yang lebih baru, atur opsi Standar Bahasa C++ ke standar yang diinginkan dan perbaiki kesalahan kompilasi apa pun yang dimunculkan. Secara umum, sebaiknya atur standar bahasa ke /std:c++17 atau /std:c++20. Kesalahan yang dimunculkan saat meningkatkan ke standar yang lebih baru tidak terkait dengan kesalahan yang dimunculkan saat menggunakan /permissive- opsi .

  • Kode yang sesuai dengan semua versi standar tetapi tidak lagi dianggap sebagai praktik terbaik dalam C++modern.

    Untuk mengidentifikasi kode di mana perubahan direkomendasikan, jalankan Analisis kode.

Membuka dan mengonversi proyek warisan

Jika proyek warisan Anda didasarkan pada versi Visual Studio yang lebih lama, Anda masih dapat memuatnya dalam versi yang lebih baru dan mengerjakannya di sana sambil mempertahankan kompatibilitas mundur dengan versi yang lebih lama. Saat Anda siap untuk pindah secara permanen ke versi baru Visual Studio, Anda dapat menargetkan ulang proyek Anda. Ini akan memungkinkan Anda untuk menggunakan alat build terbaru dan fitur proyek di IDE, tetapi Anda tidak akan lagi dapat memuat proyek yang ditargetkan ulang di versi Visual Studio yang lebih lama.

Untuk menargetkan ulang proyek ke format Visual Studio 2026, Anda dapat menggunakan asisten penyiapan yang muncul pertama kali Anda membuka solusi yang berisi proyek yang lebih lama. Anda juga dapat mengaksesnya dengan mengklik kanan solusi di Penjelajah Solusi dan memilih Solusi penargetan ulang.

Cuplikan layar asisten penyiapan Visual Studio 2026 memperlihatkan daftar proyek yang dipilih untuk penargetan ulang ke MSVC Build Tools dan v145 Platform Toolset terbaru.

Asisten penyiapan kemudian memberi Anda pilihan untuk tetap berada di versi yang lebih lama dan menginstal alat build yang hilang atau SDK Windows yang diperlukan untuk membangun, atau menargetkan ulang proyek untuk meningkatkannya. Anda dapat membuat pilihan penargetan ulang untuk setiap proyek dalam solusi atau pilih Targetkan ulang semua>Terapkan untuk meningkatkan.

Untuk informasi selengkapnya, lihat Meningkatkan proyek C++ dari versi Visual Studio sebelumnya.

Daftar Kesalahan

Setelah Anda mengatur Standar Bahasa C++ yang diinginkan dan opsi pengkompilasi lainnya (Properti>Umum), tekan > untuk mengkompilasi proyek Anda. Anda dapat mengharapkan untuk melihat beberapa kesalahan dan peringatan dalam bentuk berlekuk merah di berbagai tempat dalam kode. Kesalahan juga muncul di Daftar Kesalahan. Untuk informasi selengkapnya tentang kesalahan tertentu, klik kode kesalahan untuk masuk ke halaman bantuan dalam dokumentasi. Kode kesalahan yang dimulai dengan "C" adalah kesalahan kompilator. Kode yang dimulai dengan "MSB" adalah kesalahan MSBuild yang menunjukkan masalah dengan konfigurasi proyek.

Cuplikan layar memperlihatkan kesalahan compiler dan MSBuild di Daftar Kesalahan.

Indikator Kesehatan Dokumen

Indikator kesehatan dokumen di bagian bawah editor menunjukkan jumlah kesalahan dan peringatan dalam dokumen saat ini, dan memungkinkan Anda untuk menavigasi langsung dari satu peringatan/kesalahan ke yang berikutnya.

Indikator kesehatan dokumen.

Dalam banyak kasus, Anda dapat menemukan informasi selengkapnya tentang kesalahan tertentu dalam dokumentasi tentang riwayat perubahan Visual Studio dan peningkatan kesamaan.

Menggunakan analisis kode untuk memodernisasi kode Anda

Saat memutakhirkan, kami sarankan Anda menjalankan analisis kode pada proyek Anda sehingga kode, sesuai minimal dengan Aturan Yang Direkomendasikan Microsoft Native. Aturan ini adalah kombinasi aturan yang ditentukan oleh Microsoft dan subset Pedoman Inti C++. Dengan menyesuaikan dengan ini, Anda akan sangat mengurangi atau menghilangkan sumber bug umum, dan pada saat yang sama membuat kode Anda lebih mudah dibaca dan oleh karena itu lebih mudah dipertahankan. Analisis Kode menggunakan Microsoft Native Recommended Rules diaktifkan secara default. Anda dapat mengaktifkan aturan tambahan di bawah . Kode yang melanggar salah satu aturan ditandai sebagai peringatan dan digarisbawahi dengan berlekuk hijau di editor kode. Arahkan mouse ke atas squiggle untuk melihat tipsalat QuickInfo yang menjelaskan masalah tersebut.

Cuplikan layar tipsalat analisis Kode.

Klik ikon filter di kolom Kode untuk memilih peringatan mana yang ditampilkan.

Cuplikan layar filter analisis Kode di Daftar Kesalahan.

Kesalahan dan peringatan analisis kode juga muncul di Daftar Kesalahan seperti kesalahan pengkompilasi.

Cuplikan layar peringatan analisis Kode dalam Daftar Kesalahan.

Anda dapat mengubah aturan mana yang aktif, dan membuat aturan kustom. Untuk informasi selengkapnya tentang menggunakan Analisis Kode, lihat Analisis kode untuk ringkasan C/C++.

Menggunakan Tindakan Cepat untuk memodernisasi kode

Editor kode menyediakan Tindakan Cepat untuk beberapa rekomendasi umum. Saat ikon bola lampu ditampilkan, Anda dapat mengkliknya untuk melihat Tindakan Cepat yang tersedia.

Mengonversi makro menjadi fungsi constexpr

Gambar berikut menunjukkan penggunaan makro yang disebut AVERAGE, yang memiliki pewarnaan semantik default. Gambar juga menunjukkan tipsalat QuickInfo yang ditampilkan saat kursor mouse mengarah ke atasnya:

Cuplikan layar ekspansi makro QuickInfo.

Karena penggunaan makro tidak disarankan dalam C++modern, Visual Studio memudahkan untuk mengonversi makro ke constexpr fungsi:

  1. Klik kanan dan AVERAGE pilih Buka Definisi.

  2. Klik ikon obeng dan pilih Konversi makro ke constexpr

    Cuplikan layar makro Tindakan Cepat ke constexpr.

Makro dikonversi seperti yang ditunjukkan di bawah ini:

Cuplikan layar fungsi constexpr.

Dan panggilan ke AVERAGE sekarang diwarnai sebagai panggilan fungsi, dan tipsalat Info Cepat menunjukkan jenis fungsi yang disimpulkan:

Cuplikan layar panggilan fungsi constexpr.

Menginisialisasi variabel

Variabel yang tidak diinisialisasi dapat menyimpan nilai acak yang menyebabkan bug serius. Analisis kode menandai instans ini, dan editor menyediakan Tindakan Cepat:

Cuplikan layar pop-up untuk variabel yang tidak diinisialisasi.

Mengonversikan ke literal string mentah

Literal string mentah lebih rentan terhadap kesalahan dan lebih nyaman untuk di ketik daripada string dengan karakter escape yang disematkan. Klik kanan pada string dan pilih Tindakan Cepat untuk mengonversinya menjadi string mentah literal.

String mentah harfiah.

String dikonversi ke: R"(C:\Users\bjarnes\demo\output.txt)".