Bagikan melalui


Memvisualisasikan ekspansi makro C/C++

Makro panjang bisa sulit dibaca. Visual Studio sekarang dapat memperluas makro C dan C++. Anda bisa mendapatkan salinan di clipboard seperti apa makro yang diperluas, mengganti makro sebaris dengan ekspansinya, dan langkah demi langkah memperluas makro untuk melihat seperti apa tampilannya di setiap tahap ekspansi. Dalam artikel ini, Anda bereksperimen dengan semua fitur ini.

Prasyarat

  • Visual Studio versi 17.5 atau yang lebih baru

Membuat sampel

  1. Mulai Visual Studio 2022, versi 17.5 atau yang lebih baru, dan buat aplikasi Konsol C++.

  2. Ganti kode default dengan:

    #include <iostream>
    
    #define MASS 10.0
    #define ACCELERATION 20.0
    #define SPEED 5.0
    #define TIME 2.0
    #define DISTANCE() (SPEED * TIME)
    #define FORCE()(MASS * ACCELERATION)
    #define WORK()(FORCE() * DISTANCE())
    #define POWER()(WORK()/TIME)
    
    int main()
    {
        std::cout << "Distance: " << DISTANCE() << std::endl;
        std::cout << "Force: " << FORCE() << std::endl;
        std::cout << "Work: " << WORK() << std::endl;
        std::cout << "Power: " << POWER() << std::endl;
    }
    

Menyalin makro yang diperluas

Anda dapat memeriksa nilai makro yang diperluas, bahkan ketika beberapa langkah prapemrosesan terlibat, dengan menggunakan langkah-langkah berikut:

  1. Tempatkan kursor pada POWER makro di dalam main() contoh.

  2. Saat Anda mengarahkan mouse ke atas makro, opsi muncul untuk Menyalin, Memperluas Sebaris, Memvisualisasikan Ekspansi, dan Mencari Online:

    Cuplikan layar jendela makro, memperlihatkan ekspansi makro POWER.

    Jendela makro terbuka pada DAYA untuk menunjukkan bahwa jendela tersebut diperluas ke (((10,0 * 20,0) * (5,0 * 2,0)) / 2,0). Opsi untuk menyalin, memperluas sebaris, ekspansi visual, dan pencarian online muncul di bagian bawah jendela.

  3. Pilih Salin.

  4. Buat komentar mengikuti POWER baris dan pilih tempel (CTRL+V). Perluasan makro, yang muncul sebagai komentar di dekat makro Anda, terlihat seperti: // (((10.0 * 20.0)* (5.0 * 2.0)) / 2.0). Pintasan keyboard untuk tindakan ini adalah CTRL+M, CTRL+C.

Memperluas makro sebaris

Gunakan langkah-langkah berikut untuk memperluas makro sebaris, yang mengganti makro dengan ekspansinya:

  1. Tempatkan kursor pada POWER makro di dalam main() contoh.
  2. Saat Anda mengarahkan mouse ke atas makro, opsi muncul untuk Menyalin, Memperluas Sebaris, Memvisualisasikan Ekspansi, dan Mencari Online
  3. Pilih Perluas Sebaris. POWER() Makro diganti dengan nilai yang diperluas: std::cout << "Power: " << (((10.0 * 20.0) * (5.0 * 2.0)) / 2.0) << std::endl;. Pintasan keyboard untuk tindakan ini adalah CTRL+M, CTRL+I.

Memvisualisasikan ekspansi makro

Anda dapat memperluas makro satu langkah pada satu waktu. Ini berguna ketika ada makro berlapis dan Anda ingin melihat ekspansi langkah demi langkah. Untuk memvisualisasikan ekspansi makro untuk WORK makro, gunakan langkah-langkah berikut:

  1. Tempatkan kursor pada WORK makro di dalam main() contoh.

  2. Saat Anda mengarahkan mouse ke atas makro, opsi muncul untuk Menyalin, Memperluas Sebaris, Memvisualisasikan Ekspansi, dan Mencari Online.

  3. Pilih Visualisasikan Ekspansi. Pintasan keyboard untuk tindakan ini adalah CTRL+M diikuti oleh CTRL+V.

  4. Jendela ekspansi makro muncul. Perluasan WORK makro pertama terlihat: : (FORCE() * DISTANCE())

    Cuplikan layar jendela ekspansi makro, yang memungkinkan Anda menelusuri ekspansi makro KERJA satu langkah pada satu waktu.

    Jendela visualisasi makro terbuka pada FORCE untuk menunjukkan bahwa jendela awalnya meluas ke (FORCE()*DISTANCE()). Ada tanda kurung sudut tunggal di jendela untuk bergerak maju dan mundur satu ekspansi pada satu waktu. Tanda kurung sudut ganda sepenuhnya diperluas atau sepenuhnya membatalkan ekspansi makro.

  5. Klik tanda kurung sudut kanan untuk memperluas FORCE makro. Jendela sekarang menunjukkan FORCE ekspansi makro: (MASS * ACCELERATION) * DISTANCE().

  6. Klik kurung sudut kanan untuk memperluas langkah lain. Jendela sekarang menunjukkan FORCE ekspansi makro: ((10.0 * ACCELERATION) * DISTANCE()).

Lanjutkan untuk memperluas makro untuk melihat ekspansi WORK penuh makro, yaitu: ((10.0 * 20.0) * (5.0 * 2.0)). Anda dapat menggunakan tanda kurung sudut ganda untuk sepenuhnya memperluas makro, atau untuk membalikkan ekspansi ke tingkat ekspansi pertama.

Lihat juga

Menampilkan makro UE di Visual Studio