Konfigurowanie dostawcy usług językowych z użyciem clangd

Wprowadzenie

Edytory takie jak Emacs, Vim i VS Code obsługują takie funkcje jak nawigacja po kodzie, uzupełnianie kodu czy komunikaty o błędach wbudowanego kompilatora, za pomocą LSP, czyli protokołu Language Server Protocol. Typowym serwerem języka obsługującym LSP jest clangd, który bazuje na pliku JSON compile_commands.json z rekordami 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. Następujące wywołanie z katalogu głównego repozytorium XLA generuje plik compile_commands.json: bash bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | \ python3 build_tools/lint/generate_compile_commands.py