Đang thiết lập LSP bằng clangd

Thông tin khái quát

Các trình chỉnh sửa như Emacs, Vim hoặc VS Code hỗ trợ các tính năng như điều hướng mã, hoàn thành mã, thông báo lỗi trình biên dịch nội tuyến và các tính năng khác thông qua LSP, Giao thức máy chủ ngôn ngữ. Một máy chủ ngôn ngữ phổ biến có hỗ trợ LSP là clangd, dựa vào sự hiện diện của compile_commands.json, một tệp JSON có bản ghi các lệnh biên dịch cho từng tệp trong dự án.

Làm cách nào để tạo compile_commands.json cho mã nguồn XLA?

Sử dụng tập lệnh build_tools/lint/generate_compile_commands.py. Lệnh gọi sau từ gốc kho lưu trữ XLA sẽ tạo ra một tệp compile_commands.json tại chỗ: bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | python3 build_tools/lint/generate_compile_commands.py