การตั้งค่า LSP พร้อมเสียงดัง

ข้อมูลเบื้องต้น

เครื่องมือแก้ไข เช่น 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 แทนที่ bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | python3 build_tools/lint/generate_compile_commands.py