LSP mit Clangd einrichten

Hintergrund

Editoren wie Emacs, Vim oder VS Code unterstützen Features wie Codenavigation, Codevervollständigung, Inline-Compiler-Fehlermeldungen und andere über LSP, das Language Server Protocol. Ein gängiger Sprachserver mit LSP-Unterstützung ist clangd. Er basiert auf der Vorhandensein von compile_commands.json, einer JSON-Datei mit einem Eintrag der Kompilierungsbefehle für jede Datei in einem Projekt.

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

Verwenden Sie das Skript build_tools/lint/generate_compile_commands.py. Mit dem folgenden Aufruf aus dem XLA-Repository-Stamm wird eine compile_commands.json-Datei generiert: bash bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | \ python3 build_tools/lint/generate_compile_commands.py