ที่มา
เครื่องมือแก้ไข เช่น Emacs, Vim หรือ VS Code ฟีเจอร์ที่รองรับ เช่น การนำทางโค้ด การเติมโค้ด ข้อความแสดงข้อผิดพลาดของคอมไพเลอร์ในบรรทัด และอื่นๆ ผ่าน LSP ซึ่งเป็นโปรโตคอลเซิร์ฟเวอร์ภาษา เซิร์ฟเวอร์ภาษาทั่วไปที่รองรับ LSP คือ clangd ซึ่งต้องอาศัย compile_commands.json
ซึ่งเป็นไฟล์ JSON ที่มีระเบียนของคำสั่งคอมไพล์สำหรับแต่ละไฟล์ในโปรเจ็กต์
ฉันจะสร้าง compile_commands.json
สำหรับซอร์สโค้ด XLA ได้อย่างไร
ใช้สคริปต์ build_tools/lint/generate_compile_commands.py
การเรียกใช้ต่อไปนี้จากรูทที่เก็บ XLA จะสร้างไฟล์ compile_commands.json
ขึ้นมา: bash bazel aquery "mnemonic(CppCompile,
//xla/...)" --output=jsonproto | \ python3
build_tools/lint/generate_compile_commands.py