Clangd के साथ एलएसपी सेट अप करें

बैकग्राउंड

Emacs, Vim या VS Code जैसे एडिटर, LSP यानी लैंग्वेज सर्वर प्रोटोकॉल की मदद से, कोड नेविगेशन, कोड पूरा करने, इनलाइन कंपाइलर गड़बड़ी के मैसेज वगैरह जैसी सुविधाओं के साथ काम करते हैं. एलएसपी के साथ काम करने वाला एक आम भाषा सर्वर clangd है, जो compile_commands.json की मौजूदगी पर निर्भर करता है. यह एक JSON फ़ाइल होती है, जिसमें किसी प्रोजेक्ट की हर फ़ाइल के लिए कंपाइल कमांड का रिकॉर्ड होता है.

मैं XLA सोर्स कोड के लिए compile_commands.json कैसे जनरेट करूं?

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