Présentation
Le protocole LSP (Language Server Protocol) est une norme ouverte utilisée pour la communication entre un éditeur de code et un serveur de langage. Un serveur de langage est un processus qui fournit des fonctionnalités spécifiques au langage telles que go-to-definition et renommage d’un symbole de code dans votre base de code. Un « serveur LSP » est n’importe quel serveur de langue qui prend en charge le protocole du serveur de langage.
CLI de GitHub Copilot peut utiliser des serveurs LSP pour comprendre plus précisément la structure de votre code. En ajoutant et en configurant un serveur LSP pour chaque langage de programmation dans votre projet, vous allez mieux CLI Copilot comprendre votre code.
Avantages des serveurs LSP
-
**Précision** : les résultats proviennent du propre compilateur/analyseur du langage, ce qui fournit une compréhension de la structure de votre code. Cela améliore la précision de Copilot lorsqu'il travaille avec votre code. Par exemple, lorsque Copilot vous pouvez utiliser « accéder à la définition », il trouvera la définition réelle, et non une correspondance de texte qui ressemble à celle-ci. -
**Efficacité du jeton** : les opérations telles que « répertorier tous les symboles » ou « rechercher des références » retournent des résultats structurés compacts au lieu de demander à l’agent de lire des fichiers entiers dans la conversation. -
**Refactorisation sécurisée** : lorsque vous renommez un symbole, le serveur LSP met à jour de manière fiable toutes les références dans le projet. -
**Vitesse** : les serveurs linguistiques indexent votre projet en arrière-plan, ce qui permet des réponses quasi-instantanées.
Ce que les serveurs LSP permettent CLI Copilot de faire
Lorsque les serveurs LSP sont disponibles, CLI Copilot les utilise automatiquement. Vous n’avez pas besoin de le demander explicitement. CLI Copilot utilise un serveur LSP plutôt que la recherche basée sur du texte chaque fois qu’il peut accéder à un serveur LSP pour le langage de programmation que vous utilisez.
Les opérations de serveur de langage suivantes sont prises en charge :
| Operation | Qu’est-ce que cela fait ? |
|---|---|
| Accéder à la définition | Passe à l’endroit où un symbole (fonction, classe, variable) est défini. |
| Rechercher des références | Recherche chaque emplacement où un symbole est utilisé. |
| Survoler | Récupère les informations de type et la documentation d’un symbole. |
| Renommer | Renomme un symbole dans l’ensemble du projet, mettant à jour toutes les références. |
| Symboles de document | Répertorie tous les symboles définis dans un fichier. |
| Recherche de symboles d’espace de travail | Recherche des symboles par nom dans le projet. |
| Accéder à l’implémentation | Recherche des implémentations d’une interface ou d’une méthode abstraite. |
| Appels entrants | Affiche les fonctions qui appellent une fonction donnée. |
| Appels sortants | Affiche les fonctions qu'une fonction donnée appelle. |
Copilot sélectionne l’opération LSP la plus appropriée en fonction de votre demande. Par exemple, si vous demandez « où est `handlePayment` défini ? », Copilot utilisera l’opération go-to-definition.
Comment ajouter un serveur LSP
Pour CLI Copilot pouvoir utiliser un serveur LSP, vous devez d’abord installer le logiciel serveur sur votre ordinateur local, puis le configurer dans l’un des fichiers de configuration qui CLI Copilot lisent au démarrage. Consultez « Ajout de serveurs LSP pour CLI de GitHub Copilot ».
Un serveur LSP peut également être ajouté dans le cadre d’un plug-in CLI que vous choisissez d’installer. Un plug-in peut inclure un serveur LSP si, par exemple, il est conçu pour fonctionner avec un langage de programmation rare ou un type de fichier spécifique à l’infrastructure. Les serveurs LSP inclus dans le cadre d’un plug-in sont automatiquement disponibles lorsque vous installez le plug-in. Aucune configuration supplémentaire n’est nécessaire. Si vous désinstallez le plug-in, le serveur LSP est supprimé. Pour plus d’informations, consultez « À propos des plug-ins pour CLI de GitHub Copilot ».
Chargement des serveurs LSP
Au CLI de GitHub Copilot démarrage, il charge les configurations de serveur LSP à partir de plusieurs sources avec la priorité suivante (la plus élevée à la plus basse) :
- configuration Project :
.github/lsp.jsondans le référentiel actuel. -
**Configurations de plug-in : serveurs** de langage fournis par les plug-ins installés. -
**Configuration de l’utilisateur** : `~/.copilot/lsp-config.json`.
Les configurations de priorité supérieure remplacent les configurations de priorité inférieure avec le même nom de serveur. Cela signifie qu’un projet peut personnaliser ou désactiver des serveurs linguistiques pour tous les contributeurs.
Une fois le répertoire de travail approuvé, CLI Copilot démarre automatiquement tous les serveurs LSP pertinents pour votre projet, en arrière-plan, afin qu’ils soient prêts à répondre immédiatement si nécessaire.
Étapes suivantes
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers)
Lectures complémentaires
-
[Language Server Protocol](https://microsoft.github.io/language-server-protocol/) sur le site web Microsoft -
[AUTOTITLE](/copilot/reference/cli-command-reference)