רקע
עורכים כמו Emacs, Vim או VS Code תומכים בתכונות כמו ניווט בקוד, השלמת קוד, הודעות שגיאה של מהדרים בקוד שורת הפקודה ועוד, באמצעות LSP, פרוטוקול שרת השפה. שרת שפה נפוץ עם תמיכה ב-LSP הוא clangd, שמסתמך על נוכחות של compile_commands.json
, קובץ JSON עם תיעוד של פקודות ה-compile לכל קובץ בפרויקט.
איך יוצרים את 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