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