LSP mit Clangd einrichten

Hintergrund

Editoren wie Emacs, Vim oder VS Code unterstützen über das LSP (Language Server Protocol) Funktionen wie Codenavigation, Codevervollständigung und Inline-Compilerfehlermeldungen. Ein gängiger Language Server mit LSP-Unterstützung ist clangd, der die JSON-Datei compile_commands.json benötigt, die die Kompilierungsbefehle für jede Datei in einem Projekt enthält.

Wie generiere ich compile_commands.json für XLA-Quellcode?

Verwenden Sie das Script build_tools/lint/generate_compile_commands.py. Mit der folgenden Ausführung aus dem Stammverzeichnis des XLA-Repositories wird eine compile_commands.json-Datei erstellt: bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | python3 build_tools/lint/generate_compile_commands.py