Фон
Редакторы, такие как 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