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.
Mulai dari 17.8 Pratinjau 1, Visual Studio dapat membersihkan file yang Anda #include untuk meningkatkan kualitas kode C dan C++ Anda dengan cara-cara berikut:
- Menawarkan penambahan file header untuk kode yang hanya dapat dikompilasi karena file header yang diperlukan diikutkan secara tidak langsung oleh file header lain.
- Menawarkan penghapusan file header yang tidak digunakan--mempercepat waktu build.
Artikel ini menjelaskan cara mengonfigurasi Include Cleanup di Visual Studio. Untuk informasi selengkapnya tentang Include Cleanup, lihat Gambaran umum Include Cleanup C/C++.
Aktifkan opsi Sertakan Pembersihan
Fitur Include Cleanup dinonaktifkan secara default.
Aktifkan dengan memilihOpsi>Alat>Editor> TeksC/C++>Code Cleanup dan pilih Aktifkan pembersihan #include.
Kemudian gunakan menu dropdown untuk mengonfigurasi tingkat keparahan pemberitahuan tentang peluang untuk menambahkan header tidak langsung atau menghapus header yang tidak digunakan:
Kotak centang **Aktifkan pembersihan #include** dipilih. Menu tarik-turun untuk **Tingkat saran Hapus include yang tidak digunakan** dan **Tingkat saran Tambahkan include yang hilang** ditampilkan. Isi dropdown ditampilkan, yaitu: **Pemfaktoran ulang saja**, **Saran**, **Peringatan**, dan **Kesalahan**. Daftar tarik-turun **Tingkat saran untuk menghapus include yang tidak digunakan** menawarkan opsi yang sama, tetapi juga menambahkan **Diredupkan**.
Opsi ini mengatur jenis notifikasi tentang header yang tidak digunakan yang diberikan oleh fitur Include Cleanup:
Diredupkan
Include Cleanup menampilkan file header yang tidak digunakan dengan meredupkan baris file header yang tidak digunakan pada editor kode, serta menampilkan pesan di jendela Daftar Kesalahan. Di editor kode, arahkan kursor Anda ke ikon #include yang tampak redup untuk memunculkan menu tindakan cepat dan pilih Tampilkan kemungkinan perbaikan, atau klik menu tarik-turun ikon lampu, untuk melihat tindakan yang berkaitan dengan file yang tidak digunakan.
Baris untuk #include < iostream > diredupkan karena baris kode yang menggunakan iostream dikomentari. Baris kode tersebut adalah // std::cout << "charSize = " << charSize; Menu tindakan cepat juga terlihat untuk baris ini. Tertulis bahwa #include < iostream > tidak digunakan di file ini, dan menyertakan tautan ke “Tampilkan kemungkinan perbaikan”.
Hanya pemfaktoran ulang: Include Cleanup menawarkan tindakan yang dapat Anda lakukan melalui menu tindakan cepat di editor kode saat Anda mengarahkan penunjuk mouse ke #include, atau meletakkan kursor pada baris #include lalu menekan Ctrl+.
Saat mengarahkan kursor ke atas `#include
Saran, Peringatan, Kesalahan: Sertakan Pembersihan dapat menampilkan Sertakan pesan Pembersihan sebagai saran, peringatan, atau kesalahan di jendela Daftar Kesalahan . Anda menentukan yang mana. Dalam cuplikan layar Daftar Kesalahan berikut, Include Cleanup dikonfigurasi untuk menampilkan berkas header yang tidak digunakan sebagai peringatan. Pastikan Build + Intellisense dipilih pada filter tarik-turun agar Anda dapat melihat output Include Cleanup:
Filter dropdown diatur ke **Build + IntelliSense**. Peringatan terlihat: VCIC002 - '#include
Aktifkan dengan memilihOpsi>Alat>Semua Pengaturan>Bahasa>C/C++>Pembersihan Kode>Sertakan pembersihan. Gunakan menu tarik-turun untuk mengonfigurasi bagaimana Anda ingin menerima notifikasi tentang peluang untuk menyoroti pernyataan #include yang tidak digunakan, pernyataan #include yang dapat dioptimalkan (dihapus setelah include transitif yang diperlukan ditambahkan secara langsung), dan pernyataan #include yang hilang tetapi disertakan secara transitif.
Cuplikan layar memperlihatkan dropdown untuk memilih cara menyoroti header yang tidak digunakan di editor kode, yang dapat dioptimalkan, dan yang disertakan secara transitif.
Arti dari opsi:
Diredupkan
Include Cleanup menampilkan file header yang tidak digunakan dengan meredupkan baris file header yang tidak digunakan di editor kode, serta menampilkannya sebagai pesan di jendela Daftar Kesalahan. Di editor kode, arahkan kursor ke #include yang diredupkan untuk menampilkan menu tindakan cepat dan pilih Tampilkan kemungkinan perbaikan, atau klik menu tarik-turun ikon lampu, untuk melihat tindakan yang terkait dengan file yang tidak terpakai.
Baris untuk `#include
Tidak Ada: Jangan ambil tindakan. Include Cleanup tetap menyediakan tindakan yang dapat Anda lakukan di editor kode melalui menu tindakan cepat saat Anda mengarahkan penunjuk mouse ke #include, atau meletakkan kursor pada baris #include lalu menekan Ctrl+titik:
Saran, Peringatan, Kesalahan: Sertakan Pembersihan dapat menampilkan Sertakan pesan Pembersihan sebagai saran, peringatan, atau kesalahan di jendela Daftar Kesalahan. Anda menentukan yang mana. Dalam cuplikan layar Daftar Kesalahan berikut, Include Cleanup diatur untuk menampilkan berkas header yang tidak digunakan sebagai peringatan. Pastikan bahwa Build + Intellisense dipilih di filter tarik-turun sehingga Anda dapat melihat output Include Cleanup:
Filter dropdown diatur ke **Build + IntelliSense**. Peringatan terlihat: VCIC002 - '#include
Opsi konfigurasi lainnya
Pengaturan Pembersihan Penyertaan lainnya tersedia di bawah Alat>Opsi>Editor Teks>C/C++>Pembersihan Kode:
-
Urutkan include: Menandai arahan
#includeyang perlu diurutkan. Pilih tingkat pemberitahuan tingkat keparahan pesan yang muncul di jendela Daftar Kesalahan : Tidak ada (fitur nonaktif), Saran, Peringatan, atau Kesalahan. -
Gaya: Mengontrol cara
#includepernyataan diurutkan. Pilih Abaikan untuk mengurutkan tanpa mempertimbangkan gaya kurung, Tanda kutip untuk mengurutkan direktif include bertanda kutip di atas direktif include dengan kurung sudut, atau Kurung sudut untuk mengurutkan direktif include dengan kurung sudut di atas direktif include bertanda kutip. - Peka huruf besar/kecil: Saat dipilih, pengurutan membandingkan nama file dengan membedakan huruf besar/kecil. Jika dikosongkan, pengurutan tidak membedakan huruf besar/kecil.
Lainnya Sertakan pengaturan Pembersihan tersedia di bawahOpsi>Alat>Semua Pengaturan>Bahasa>C/C++>Pembersihan Kode>Sertakan pembersihan:
- Pemfilteran Tingkat Lanjut: Saat dipilih, jika Anda memanggil fungsi anggota pada objek kelas turunan tetapi fungsi didefinisikan di kelas dasar, alat tidak menyarankan untuk menambahkan header kelas dasar. Aktifkan opsi ini untuk mengurangi saran berisik saat simbol yang Anda gunakan berasal dari kelas dasar daripada jenis yang Anda referensikan secara langsung.
- Urutkan direktif #include setelah melakukan pengeditan untuk pembersihan include: Saat dipilih, fitur bawaan untuk mengurutkan include dijalankan setelah tindakan Pembersihan Include.
- Format direktif #include setelah melakukan pengeditan apa pun untuk Pembersihan Include: Saat dipilih, perintah pemformatan dijalankan setelah tindakan Pembersihan Include apa pun.
Mengonfigurasi Sertakan Pembersihan dengan .editorconfig
Fitur Pembersihan Include memiliki lebih banyak opsi, seperti mengecualikan include tertentu dari saran pembersihan dan menandai bahwa beberapa file header diperlukan agar alat tidak menandainya sebagai tidak digunakan. Tentukan opsi ini dalam .editorconfig file. Tambahkan file ini ke proyek Anda untuk menerapkan gaya pengodean yang konsisten untuk semua orang yang bekerja di basis kode. Untuk informasi selengkapnya tentang menambahkan .editorconfig file ke proyek Anda, lihat Membuat pengaturan editor kustom portabel dengan EditorConfig.
Pengaturan .editorconfig yang dapat digunakan dengan Include Cleanup adalah:
| Pengaturan | Nilai | Contoh |
|---|---|---|
cpp_include_cleanup_add_missing_error_tag_type
Mengatur tingkat kesalahan untuk menambahkan pesan sertakan transitif. |
nonesuggestionwarningerror |
cpp_include_cleanup_add_missing_error_tag_type = suggestion |
cpp_include_cleanup_alternate_files
Sembunyikan pesan untuk penyertaan tidak langsung. Misalnya, jika Anda #include <windows.h> dan hanya menggunakan konten dari header winerror.h yang disertakan secara tidak langsung atau minwindef.h, alat tidak menyarankan untuk menambahkannya. |
file1:file2[:file3...][,file4:file5...] |
cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h
Atau cpp_include_cleanup_alternate_files = windows.h:winerror.h:minwindef.h,umbrella.h:internal.h |
cpp_include_cleanup_excluded_files
Mengecualikan file-file yang ditentukan dari pesan Include Cleanup. Anda tidak akan mendapatkan saran yang terkait dengan header sama sekali, baik tentang menambahkannya atau tentang ketidakgunannya. |
filename | cpp_include_cleanup_excluded_files = vcruntime.h, vcruntime_string.h |
cpp_include_cleanup_remove_unused_error_tag_type
Mengatur tingkat kesalahan untuk menghapus pesan sertakan yang tidak digunakan. |
nonesuggestionwarningerrordimmed |
cpp_include_cleanup_remove_unused_error_tag_type = dimmed |
cpp_include_cleanup_replacement_files
Mengganti file1 dengan file2 selama pemrosesan Include Cleanup. Misalnya, Anda mungkin lebih suka menggunakan cstdio lebih dari stdio.h. Jika Anda memiliki file yang berisi #include <cstdio> dan #include <stdio.h>, dan Anda hanya menggunakan konten dari stdio.h, dengan pengaturan ini Include Cleanup akan memberi tahu Anda untuk menghapus stdio.h karena selama pemrosesan, penggunaan cstdio telah digantikan dengan stdio.h. Jika Anda tidak menggunakan isi dari salah satunya, Include Cleanup akan memberi tahu Anda untuk menghapus keduanya. |
file1:file2 | cpp_include_cleanup_replacement_files = stdio.h:cstdio,stdint.h:cstdint |
cpp_include_cleanup_required_files
Tentukan bahwa penggunaan file1 memerlukan file2. Misalnya, tentukan bahwa jika Anda menggunakan atlwin.h, maka altbase.h juga harus disertakan. |
file1:file2 | cpp_include_cleanup_required_files = atlwin.h:altbase.h, atlcom.h:altbase.h |
cpp_sort_includes_error_tag_type
Mengatur tingkat kesalahan untuk pesan sort-includes. none menonaktifkan fitur.
suggestion menampilkan garis bergelombang ... dan menambahkan pesan ke daftar kesalahan.
warning menampilkan garis bergelombang hijau dan menambahkan peringatan.
error menampilkan garis bergelombang merah dan menandai kesalahan. |
nonesuggestionwarningerror |
cpp_sort_includes_error_tag_type = suggestion |
cpp_sort_includes_priority_case_sensitive
Saat true, perbandingan pengurutan menyertakan nama file secara peka huruf besar/kecil. Ketika false, pengurutan tidak membedakan huruf besar/kecil. |
truefalse |
cpp_sort_includes_priority_case_sensitive = false |
cpp_sort_includes_priority_style
Menentukan apakah pengurutan mempertimbangkan gaya kurung. ignore mengurutkan tanpa mempertimbangkan tanda kurung.
quoted mengurutkan include bertanda kutip di atas include dengan tanda kurung sudut.
angle_brackets mengurutkan include bertanda kurung sudut di atas include bertanda kutip. |
ignorequotedangle_brackets |
cpp_sort_includes_priority_style = quoted |
Pengaturan berikut ini tersedia mulai Visual Studio 2026:
| Pengaturan | Nilai | Contoh |
|---|---|---|
cpp_include_cleanup_format_after_edits
Saat true, menjalankan perintah format setelah tindakan Include Cleanup apa pun. Berguna saat Anda mengonfigurasi clang-format untuk mengurutkan direktif #include Anda. |
truefalse |
cpp_include_cleanup_format_after_edits = true |
cpp_include_cleanup_sort_after_edits
Saat true, menjalankan fitur sortir bawaan yang disertakan setelah tindakan Sertakan Pembersihan. Berguna saat Anda tidak menggunakan format clang untuk mengurutkan arahan Anda #include . |
truefalse |
cpp_include_cleanup_sort_after_edits = true |
Menyembunyikan pesan unused-include melalui kode
Mulai dari Visual Studio 2026, Anda dapat menyembunyikan pesan Include Cleanup pada satu direktif #include dengan menambahkan komentar // VCIC-Excluded di baris yang sama. Alat Include Cleanup tidak menyarankan untuk menghapus include tersebut, meskipun tampak tidak digunakan. Berikan teks pembenaran opsional setelah penanda sehingga pembaca di masa mendatang tahu mengapa menyertakannya ada di sana:
#include "Header2.h" // VCIC-Excluded: needed for the ATL macros used below
Anda juga dapat menggunakan menu ikon bohlam untuk menambahkan komentar // VCIC-Excluded ke direktif #include. Pastikan Bahwa Sertakan Pembersihan diaktifkan melaluiOpsi>Alat>Semua Pengaturan>Bahasa>C/C++>Pembersihan Kode>Sertakan pembersihan karena dinonaktifkan secara default. Kemudian, arahkan kursor Anda di atas baris #include, pilih Perbaikan Lain>Abaikan VCIC002 dalam sumber::
Komentar // VCIC-Excluded hanya berlaku untuk #include file. Pengaturan cpp_include_cleanup_excluded_files dalam .editorconfig menerapkan pengecualian tersebut pada setiap file yang diatur oleh .editorconfig.
Lihat juga
Gambaran umum C/C++ Sertakan Pembersihan
Sertakan pesan Pembersihan