Configurazione dell'LSP con clangd

Contesto

Editor come Emacs, Vim o VS Code supportano funzionalità come la navigazione del codice, il completamento del codice, i messaggi di errore del compilatore incorporato e altre tramite LSP, il protocollo Language Server. Un server di linguaggio comune con supporto LSP è clangd e si basa sulla presenza di compile_commands.json, un file JSON con un record dei comandi di compilazione per ogni file in 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 attivo: bash bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | \ python3 build_tools/lint/generate_compile_commands.py