Ini adalah plugin analisis kode C/C ++ untuk vScode yang menunjukkan laporan bug yang terdeteksi oleh penganalisa statis dentang dan penganalisis rapi dentang, menggunakan Codechecker sebagai backend.

PATH .compile_commands.json .F9 / Shift-F9 secara default) 


Codechecker bekerja dengan membaca database kompilasi yang dihasilkan, sering disebut compile_commands.json , dan mengeksekusi analisis spesifik berdasarkan itu.
CMake memiliki dukungan bawaan untuk menghasilkan database kompilasi. Atur variabel lingkungan CMAKE_EXPORT_COMPILE_COMMANDS=ON , dan database kompilasi harus ada di dalam folder build Anda. Jika Anda menggunakan ekstensi CMake Tools untuk kode VS, Anda dapat menambahkan bendera ini ke pengaturan ekstensi di bawah Cmake > Build Environment .
make dan sistem build lainnya tidak memiliki dukungan bawaan untuk menghasilkan database kompilasi, tetapi Codechecker dapat menghasilkan satu berdasarkan perintah build. Untuk menghasilkan satu, Anda dapat menggunakan perintah CodeChecker log -b "[full build command]" -o .codechecker/compile_commands.json .
Untuk mengotomatiskan proses, ekstensi menyediakan cara untuk menjalankan perintah CodeChecker log secara otomatis. Pertama, di pengaturan ekstensi yang ditetapkan CodeChecker > Executor > Log build command , dan kemudian gunakan tugas kode VS, atau perintah VS Code CodeChecker: Run CodeChecker Log untuk menjalankan analisis. Anda juga dapat menjalankan CodeChecker: Preview CodeChecker log in terminal untuk memiliki lebih banyak kontrol berbutir halus atas parameter yang diteruskan ke Codechecker.
Ekstensi menggunakan CodeChecker versi 6.18.2 atau lebih baru. Jika jalur instalasi Anda berbeda, atau codechecker tidak ada dalam variabel lingkungan PATH , jalur ke sana dapat diatur secara manual di bawah Preferences > Settings > Extensions > CodeChecker > Executable path .
Ekstensi dapat menjalankan analisis codechecker pada proyek Anda, baik saat menyimpan file, atau saat menggunakan salah satu dari CodeChecker: Analyze perintah. Anda dapat menghentikan analisis dengan mengklik tombol Batal pada pemberitahuan Codechecker - hasil parsial disimpan secara otomatis.
Analisis ini sepenuhnya dapat dikonfigurasi, dan baris perintah Codechecker yang dihasilkan dapat dipratinjau dengan CodeChecker: Show full command line (untuk argumen yang didukung, jalankan CodeChecker analyze --help ). Pengaturan untuk ruang kerja saat ini dapat diatur pada tab Workspace di pengaturan. Analisis otomatis pada penghematan juga dapat dikonfigurasi.
Informasi terperinci tentang opsi konfigurasi dapat ditemukan di bawah pengaturan.
Ekstensi memberikan perintah berikut:
| Memerintah | Keterangan |
|---|---|
CodeChecker: Analyze current file | Menganalisis file sumber yang saat ini dibuka menggunakan Codechecker. Dapat juga dipanggil dengan mengklik Re-analyze current file di panel samping Codechecker.Berguna saat Run On Save dimatikan di pengaturan plugin. |
CodeChecker: Analyze selected files... | Menganalisis file yang dipilih oleh pengguna, menggunakan Codechecker. Menerima beberapa file sebagai input. |
CodeChecker: Analyze entire project | Menganalisis seluruh proyek menggunakan Codechecker. Dapat juga dipanggil dengan mengklik tombol Re-analyze entire project di panel samping Codechecker.Peringatan: Analisis penuh dapat memakan waktu beberapa menit, atau bahkan berjam -jam pada proyek yang lebih besar. |
CodeChecker: Stop running CodeChecker instance | Menghentikan analisis yang sedang berjalan. Hasil parsial disimpan dan diperbarui. |
CodeChecker: Run CodeChecker log | Memperbarui database kompilasi, dengan membangun proyek saat ini. Varian dengan perintah build yang ditentukan pengguna khusus juga tersedia. |
CodeChecker: Preview CodeChecker log in terminal | Perintah log Codechecker saat ini ditempelkan ke jendela terminal baru, di mana ia dapat diedit sebelum menjalankannya. |
CodeChecker: Show database setup dialog | Menampilkan dialog untuk memilih jalur ke database kompilasi yang ada, atau untuk membuat yang baru. |
CodeChecker: Next reproduction step ,CodeChecker: Previous reproduction step | Bergerak di antara langkah -langkah jalur reproduksi yang ditampilkan. Anda juga dapat menavigasi langsung ke langkah laporan melalui panel samping Codechecker. KeyBind default: masing-masing Ctrl-F7 , Ctrl-Shift-F7 . |
CodeChecker: Show full CodeChecker analyze command line | Menampilkan baris perintah Codechecker lengkap yang digunakan untuk menganalisis file. Berguna jika Anda ingin meninjau opsi penganalisa sebelum berjalan, atau jika Anda ingin menjalankan analisis secara manual. |
CodeChecker: Show Output | Memfokuskan output Codechecker di editor. Log plugin, serta output dari menjalankan codechecker sebelumnya ditampilkan di sini. |
CodeChecker: Reload metadata | Muat ulang file metadata.json Codechecker. Dapat juga dipanggil dengan mengklik tombol Reload CodeChecker metadata pada panel samping Codechecker. |
Perintah analisis juga tersedia dalam bentuk tugas:
| Tugas | Perintah yang setara |
|---|---|
{ type: "CodeChecker", taskType: "currentFile" } | CodeChecker: Analyze current file |
{ type: "CodeChecker", taskType: "selectedFiles", selectedFiles: [] } | CodeChecker: Analyze selected files...File yang dipilih tercantum dalam array selectedFiles , menggunakan jalur lengkap. |
{ type: "CodeChecker", taskType: "project" } | CodeChecker: Analyze entire project |
{ type: "CodeChecker log" } | CodeChecker: Run CodeChecker log |
{ type: "CodeChecker log", customBuildCommand: "..." } | CodeChecker: Run CodeChecker log with custom build command |
Karena jalur terkait codechecker sangat bervariasi antara sistem, pengaturan berikut disediakan, dapat diakses melalui menu Pengaturan:
| Nama | Keterangan |
|---|---|
| Codechecker> backend> folder output (default: ${workspaceFolder}/.codechecker ) | Folder output tempat file analisis codechecker disimpan. |
| Codechecker> Backend> Compilation Database Path (default: (kosong) ) | Jalur ke database kompilasi khusus, dalam hal sistem pembuatan khusus. Dialog Pengaturan Database mengatur jalur hanya untuk ruang kerja saat ini. Biarkan kosong untuk menggunakan database di folder output CodeChecker, atau menggunakan autodetection Codechecker untuk ruang kerja multi-root. |
| Codechecker> Editor> Keparahan Bug Kustom (default: null ) | Kontrol bagaimana bug ditampilkan di editor, tergantung pada apa keparahannya. Bug dapat ditampilkan sebagai 'kesalahan', 'peringatan', 'informasi' atau 'petunjuk'. Secara default, semuanya kecuali keparahan 'gaya' ditampilkan sebagai kesalahan. Dikonfigurasi sebagai array, seperti { "UNSPECIFIED": "Warning", "LOW": "Warning" } |
| Codechecker> Editor> Tampilkan Dialog Basis Data (default: on ) | Mengontrol dialog saat membuka ruang kerja tanpa database kompilasi. |
| Codechecker> Editor> Aktifkan Codelens (default: on ) | Aktifkan codelens untuk menampilkan jalur reproduksi di editor. |
| Codechecker> Executor> Aktifkan Pemberitahuan (default: on ) | Aktifkan pemberitahuan roti panggang terkait codechecker. |
| Codechecker> Executor> Executable Path (default: CodeChecker ) | Jalur ke codechecker yang dapat dieksekusi. Dapat dieksekusi dalam variabel lingkungan PATH , atau jalur absolut ke satu. |
| Codechecker> Executor> Analisis Timeout (Default: 60 ) | Timeout (dalam detik) untuk setiap analisis individu yang dijalankan oleh perintah Codechecker Analisis - diatur ke 0 untuk menonaktifkan batas waktu. |
| Codechecker> Executor> Thread Count (default: (kosong) ) | Hitungan utas Codechecker - tinggalkan kosong untuk menggunakan semua utas. |
| Codechecker> Executor> Argumen (default: (kosong) ) | Argumen tambahan untuk CodeChecker analyze . Misalnya, jika Anda ingin menggunakan file konfigurasi untuk codechecker pass '--config <config.json>'. Untuk argumen yang didukung, jalankan CodeChecker analyze --help .CATATAN: Baris perintah yang dihasilkan dapat dipratinjau dengan perintah perintah CodeChecker: Show full CodeChecker analyze command line . |
| Codechecker> Executor> Log Build Command (default: make ) | Perintah build default yang digunakan saat menjalankan CodeChecker log melalui perintah atau tugas. |
| Codechecker> pelaksana> argumen log (default: (kosong) ) | Argumen tambahan untuk CodeChecker log .CATATAN: Baris perintah yang dihasilkan dapat dipratinjau dengan Command CodeChecker: Preview CodeChecker log in terminal . |
| Codechecker> Executor> Run on Save (default: on ) | Mengontrol Codechecker yang dijalankan secara otomatis saat menyimpan file. |
Catatan : Jika Anda telah menginstal ekstensi ini dari Marketplace, uninstall terlebih dahulu untuk mencegah konflik dengan bangunan Anda sendiri.
Ekstensi ini menggunakan node.js (v12+) dan benang (v2+). Ekstensi VS Code yang Disarankan adalah Eslint dan TypeScript+Matcher Masalah Webpack
Untuk membangun dan menjalankan ekstensi, lakukan hal berikut:
yarn install --immutable , Untuk Menginstal Ketergantungancode . ) Untuk menjalankan tes, pilih tes ekstensi sebagai konfigurasi debug aktif, atau menjalankan yarn run test .
Ekstensi dirilis di bawah lisensi Apache 2.0, lisensi yang sama dengan Codechecker.