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

बैकग्राउंड

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

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

build_tools/lint/generate_compile_commands.py स्क्रिप्ट का इस्तेमाल करें. XLA रेपो रूट से शुरू होने वाला यह अनुरोध, सही जगह पर compile_commands.json फ़ाइल जनरेट करता है: bash bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | \ python3 build_tools/lint/generate_compile_commands.py