Skip to main content

Ajout de serveurs LSP pour CLI GitHub Copilot

Vous pouvez ajouter des serveurs LSP pour fournir Copilot pour CLI une intelligence de code précise, en améliorant sa capacité à parcourir les définitions, à rechercher des références et à renommer des symboles.

Présentation

Cet article explique comment ajouter des serveurs LSP pour Copilot pour CLI. Pour plus d’informations conceptuelles sur les serveurs LSP, consultez Utilisation de serveurs LSP avec CLI GitHub Copilot.

L’ajout d’un serveur LSP pour Copilot pour CLI est un processus en deux étapes :

  1. Installez le logiciel serveur LSP sur votre ordinateur local.
  2. Configurez le serveur dans un fichier de configuration.

Ces étapes sont décrites en détail dans cet article.

Installation et configuration d’un serveur LSP

Vous pouvez ajouter un serveur LSP pour une langue spécifique en effectuant les opérations suivantes :

  • Grâce à la lsp-setup fonctionnalité, qui automatise le processus.
  • Installation manuelle du logiciel serveur, puis configuration Copilot pour CLI pour utiliser le serveur.

Ces deux approches sont décrites dans les sections ci-dessous.

Utilisation de la lsp-setup compétence pour ajouter un serveur de langue

La lsp-setup compétence du référentiel « Awesome GitHub Copilot» automatise l’installation et la configuration d’une sélection de langues populaires.

  1. Accédez au site de téléchargement « Génial GitHub Copilot» et recherchez « lsp » :

           https://awesome-copilot.github.com/skills/?q=lsp.
    
  2. Téléchargez la lsp-setup compétence.

  3. Décompressez le fichier téléchargé .zip pour créer un répertoire appelé lsp-setup.

  4. Déplacez le répertoire lsp-setup dans l'un des deux emplacements suivants :

    • Votre répertoire de compétences personnelles : ~/.copilot/skills/.
    • Répertoire des compétences du projet : .github/skills/ dans un référentiel Git.
  5. Démarrez Copilot pour CLIou si vous êtes actuellement dans une session CLI, entrez /skills reload.

  6. Entrez la requête :

    Copilot prompt
    setup lsp
    
  7. Suivez les instructions à l’écran pour sélectionner la langue du serveur que vous souhaitez configurer, puis effectuez les étapes supplémentaires.

  8. Une fois le processus terminé, entrez /lsp reload pour charger le nouveau serveur LSP.

  9. Vérifiez que le serveur a été ajouté et fonctionne correctement. Consultez Confirmer qu’un serveur LSP est disponible plus loin dans cet article.

Installation et configuration manuelles d’un serveur LSP

L’installation d’un serveur LSP pour un langage spécifique implique généralement l’installation d’un package via un gestionnaire de package tel que npm, gemou pip.

Pour installer manuellement un serveur LSP, reportez-vous à la documentation relative au serveur de langage spécifique que vous souhaitez installer. Vous trouverez ci-dessous quelques exemples de commandes pour installer des serveurs LSP populaires.

Remarque

Les ressources utiles pour rechercher des serveurs LSP pour différents langages sont les suivantes : * Implementations sur le site web du protocole language server de Microsoft. * Protocole du serveur de langage sur le site web Arch Linux.

Attention

Installez uniquement des serveurs LSP à partir de sources approuvées.

Exemple de commande d’installation : TypeScript et JavaScript

Si vous avez Node.js installé, vous pouvez installer le typescript-language-server serveur LSP avec la commande suivante :

Bash
npm install -g typescript typescript-language-server

Le typescript-language-server serveur LSP prend en charge TypeScript et JavaScript.

Exemple de commande d’installation : Ruby

Si vous avez installé gemme, vous pouvez installer le ruby-lsp serveur LSP avec la commande suivante :

Bash
gem install ruby-lsp

Vous pouvez également installer le solargraph serveur LSP pour Ruby avec :

Bash
gem install solargraph

Exemple de commande d’installation : Python

Si vous avez Node.js installé, vous pouvez installer le pyright serveur LSP avec la commande suivante :

Bash
npm install -g pyright

Si vous avez installé pip, vous pouvez également installer le python-lsp-server serveur LSP avec :

Bash
pip install python-lsp-server

Configuration du serveur de langue

  1. Pour configurer le serveur LSP, ajoutez une définition de serveur à l’un des deux fichiers de configuration :

    • Configuration utilisateur : ****~/.copilot/lsp-config.json à tous vos projets.
    • Configuration du projet : .github/lsp.json, dans votre référentiel, s’applique à toutes les personnes qui travaillent sur ce projet.

    Les deux fichiers utilisent la même syntaxe JSON :

    {
      "lspServers": {
        "SERVER-NAME": {
          "command": "COMMAND",
          "args": ["ARG1", "ARG2"],
          "fileExtensions": {
            ".EXT": "LANGUAGE-ID"
          }
        },
        "ANOTHER-SERVER": {
          ...
        }
      }
    }
    

    Certains exemples de définitions de serveur pour des serveurs LSP spécifiques sont fournis plus loin dans cet article.

  2. Après avoir installé et configuré le serveur, vérifiez que Copilot pour CLI peut l’utiliser. Consultez Confirmer qu’un serveur LSP est disponible ci-dessous.

Champs de configuration

Chaque définition de serveur dans le fichier de configuration doit avoir un nom unique et contenir uniquement des caractères alphanumériques, des traits de soulignement et des traits d’union.

Dans chaque définition de serveur, les champs suivants sont disponibles/obligatoires :

Champ Obligatoire Description
command Oui Commande utilisée pour démarrer le serveur LSP.
args Non Arguments à passer à la commande.
fileExtensions Oui Mappage JSON des extensions de fichier et de leur ID de langage correspondant (par exemple, { ".rs": "rust" }).
env Non Variables d’environnement à définir lors du démarrage du serveur. Prend en charge la syntaxe d'expansion ${VAR} et ${VAR:-default}.
rootUri Non Répertoire racine du serveur LSP, par rapport à la racine Git. La valeur par défaut est ".". Utile pour monorepos. Si votre projet se trouve dans un sous-répertoire du référentiel Git plutôt que dans la racine du référentiel, définissez-le rootUri sur ce chemin de sous-répertoire.
initializationOptions Non Options personnalisées envoyées au serveur au démarrage.
requestTimeoutMs Non Délai d’expiration des requêtes de serveur en millisecondes (valeur par défaut : 90 secondes).

Exemple de définition de serveur : typescript-language-server serveur LSP

JSON
{
  "lspServers": {
    "typescript": {
      "command": "typescript-language-server",
      "args": ["--stdio"],
      "fileExtensions": {
        ".ts": "typescript",
        ".tsx": "typescriptreact",
        ".js": "javascript",
        ".jsx": "javascriptreact",
        ".mjs": "javascript",
        ".cjs": "javascript",
        ".mts": "typescript",
        ".cts": "typescript"
      }
    }
  }
}

Exemple de définition de serveur : ruby-lsp serveur LSP

JSON
{
  "lspServers": {
    "ruby": {
      "command": "ruby-lsp",
      "args": [],
      "fileExtensions": {
        ".rb": "ruby",
        ".rbw": "ruby",
        ".rake": "ruby",
        ".gemspec": "ruby"
      }
    }
  }
}

Exemple de définition de serveur : serveur pyright LSP pour Python

JSON
{
  "lspServers": {
    "python": {
      "command": "pyright-langserver",
      "args": ["--stdio"],
      "fileExtensions": {
        ".py": "python",
        ".pyw": "python",
        ".pyi": "python"
      }
    }
  }
}

Gestion des serveurs de langage avec la /lsp commande

Vous pouvez répertorier et gérer vos serveurs LSP dans une session CLI interactive à l’aide de la /lsp commande barre oblique :

Commande slashDescription
/lsp ou /lsp showAffichez l’état de tous les serveurs LSP configurés.
/lsp test SERVER-NAMEVérifiez si un serveur démarre correctement.
/lsp reloadRechargez les configurations LSP à partir du disque.
/lsp helpAfficher les informations sur la commande /lsp.

Liste des serveurs LSP disponibles

  1. Dans Copilot pour CLI, vérifiez que le serveur LSP que vous avez choisi est disponible à l’aide de la /lsp commande barre oblique. Vous verrez une sortie telle que :

    ● LSP Server Status:
    
      User-configured servers:
        • ruby: ruby-lsp (.rb, .rbw, .rake, .gemspec)
        • omnisharp: omnisharp (.cs)
    
      User config: /Users/username/.copilot/lsp-config.json
    

Confirmation qu’un serveur LSP est disponible

  1. Après avoir ajouté et configuré un serveur LSP, démarrez (ou redémarrez). Copilot pour CLI

  2. Utilisez la commande de barre oblique : /lsp test SERVER-NAME pour vérifier que le serveur LSP fonctionne correctement.

           Copilot pour CLI tente de démarrer une instance temporaire autonome du serveur et signale s’il a réussi ou s’il y a eu des erreurs. Il tue ensuite le processus de serveur temporaire.
    

Lectures complémentaires