إعداد LSP مع علامة صلبة

الخلفية

تتيح برامج التعديل، مثل Emacs أو Vim أو VS Code، ميزات مثل التنقّل في الرموز البرمجية، وإكمال الرموز البرمجية، ورسائل أخطاء المُجمِّع المضمّنة، وغيرها، من خلال بروتوكول LSP، وهو بروتوكول Language IDE. من بين خوادم اللغات الشائعة التي تتيح استخدام واجهة برمجة التطبيقات 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