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

רקע

עורכים כמו Emacs, Vim או VS Code תומכים בתכונות כמו ניווט בקוד, השלמת קוד, הודעות שגיאה של מהדר מוטבע ועוד, באמצעות LSP, פרוטוקול Language Server. שרת שפה נפוץ עם תמיכה ב-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