बैकग्राउंड
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