Настройка LSP с помощью clangd

Фон

Редакторы, такие как Emacs, Vim или VS Code, поддерживают такие функции, как навигация по коду, завершение кода, встроенные сообщения об ошибках компилятора и другие, через LSP , протокол языкового сервера. Сервер общего языка с поддержкой LSP — clangd , который опирается на наличие compile_commands.json — файла JSON с записью команд компиляции для каждого файла в проекте.

Как создать compile_commands.json для исходного кода XLA?

Используйте скрипт build_tools/lint/generate_compile_commands.py . Следующий вызов из корня репозитория XLA создает файл compile_commands.json : bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | python3 build_tools/lint/generate_compile_commands.py