הגדרת LSP עם הקשה

רקע

עורכים כמו 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