راه اندازی 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