Tło
Edytorzy, tacy jak Emacs, Vim czy VS Code, obsługują funkcje takie jak nawigacja po kodzie, uzupełnianie kodu, wiadomości o błędach kompilatora wstawiane w tekście i inne za pomocą protokołu LSP (Language Server Protocol). Popularnym serwerem językowym obsługującym dostawców usług językowych jest clangd, który opiera się na obecności compile_commands.json
– pliku JSON z rekordem poleceń kompilacji dla każdego pliku w projekcie.
Jak wygenerować compile_commands.json
dla kodu źródłowego XLA?
Użyj skryptu build_tools/lint/generate_compile_commands.py. To wywołanie z poziomu głównego repozytorium XLA generuje plik compile_commands.json
: bazel aquery "mnemonic(CppCompile,
//xla/...)" --output=jsonproto | python3
build_tools/lint/generate_compile_commands.py