Configurer le fournisseur de services linguistiques avec clangd

Contexte

Les éditeurs tels qu'Emacs, Vim ou VS Code prennent en charge des fonctionnalités telles que la navigation dans le code, la complétion de code, les messages d'erreur du compilateur intégrés, etc., via le protocole LSP (Language Server Protocol). clangd est un serveur de langage courant compatible avec le langage LSP, qui repose sur la présence de compile_commands.json, un fichier JSON contenant un enregistrement des commandes de compilation pour chaque fichier d'un projet.

Comment générer compile_commands.json pour le code source XLA ?

Utilisez le script build_tools/lint/generate_compile_commands.py. L'appel suivant à partir de la racine du dépôt XLA génère un fichier compile_commands.json: bazel aquery "mnemonic(CppCompile, //xla/...)" --output=jsonproto | python3 build_tools/lint/generate_compile_commands.py