Configurazione dell'LSP con clangd

Sfondo

Editor come Emacs, Vim o VS Code supportano funzionalità come la navigazione nel codice, il completamento del codice, i messaggi di errore del compilatore in linea e altri ancora tramite LSP, il protocollo Language Server. Un server di lingua comune con supporto LSP è clangd, che si basa sulla presenza di compile_commands.json, un file JSON con un record dei comandi di compilazione per ogni file di un progetto.

Come faccio a generare compile_commands.json per il codice sorgente XLA?

Utilizza lo script build_tools/lint/generate_compile_commands.py. La seguente chiamata dalla radice del repository XLA genera un file compile_commands.json esistente: bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | python3 build_tools/lint/generate_compile_commands.py