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