lsp-setup

Par github · awesome-copilot

Activez l'intelligence de code (aller à la définition, trouver les références, survol, informations de type) pour n'importe quel langage de programmation en installant et configurant un serveur LSP pour Copilot CLI. Détecte le système d'exploitation, installe le bon serveur et génère la configuration JSON (niveau utilisateur ou dépôt). À utiliser lorsque vous avez besoin d'une compréhension approfondie du code et qu'aucun serveur LSP n'est configuré, ou lorsque l'utilisateur demande à configurer, installer ou paramétrer un serveur LSP.

npx skills add https://github.com/github/awesome-copilot --skill lsp-setup

Configuration LSP pour GitHub Copilot CLI

SKILL UTILITAIRE — installe et configure les serveurs Language Server Protocol pour Copilot CLI. À UTILISER POUR : "setup LSP", "install language server", "configure LSP for Java", "add TypeScript LSP", "enable code intelligence", "I need go-to-definition", "find references not working", "need better code understanding" À NE PAS UTILISER POUR : tâches de codage général, configuration LSP IDE/éditeur, configurations non-Copilot-CLI

Workflow

  1. Demander le langage — utiliser ask_user pour demander le(s) langage(s) de programmation pour lequel(s) l'utilisateur veut le support LSP
  2. Détecter l'OS — exécuter uname -s (ou vérifier Windows via $env:OS / %OS%) pour déterminer macOS, Linux ou Windows
  3. Chercher le serveur LSP — lire references/lsp-servers.md pour connaître les serveurs disponibles, les commandes d'installation et les extraits de configuration
  4. Demander la portée — utiliser ask_user pour demander si la config doit être au niveau utilisateur (~/.copilot/lsp-config.json) ou au niveau dépôt (lsp.json à la racine du dépôt ou .github/lsp.json)
  5. Installer le serveur — exécuter la commande d'installation appropriée pour l'OS détecté
  6. Écrire la configuration — fusionner la nouvelle entrée serveur dans le fichier de config choisi (~/.copilot/lsp-config.json pour le niveau utilisateur ; lsp.json ou .github/lsp.json pour le niveau dépôt). Si une config au niveau dépôt existe déjà, continuer à utiliser cette localisation ; sinon demander à l'utilisateur quelle localisation au niveau dépôt il préfère. Créer le fichier s'il manque et préserver les entrées existantes.
  7. Vérifier — confirmer que le binaire LSP est sur $PATH et que le fichier de config est un JSON valide

Format de configuration

Copilot CLI lit la configuration LSP depuis les localisations au niveau utilisateur ou au niveau dépôt, et la config au niveau dépôt prend la priorité sur la config au niveau utilisateur :

  • Niveau utilisateur : ~/.copilot/lsp-config.json
  • Niveau dépôt : lsp.json (racine du dépôt) ou .github/lsp.json

La structure JSON :

{
  "lspServers": {
    "<server-key>": {
      "command": "<binary>",
      "args": ["--stdio"],
      "fileExtensions": {
        ".<ext>": "<languageId>",
        ".<ext2>": "<languageId>"
      }
    }
  }
}

Règles clés

  • command est le nom du binaire (doit être sur $PATH) ou un chemin absolu.
  • args inclut presque toujours "--stdio" pour utiliser le transport d'entrée/sortie standard.
  • fileExtensions mappe chaque extension de fichier (avec le point en début) à un Language ID.
  • Plusieurs serveurs peuvent coexister dans lspServers.
  • Lors de la fusion dans un fichier existant, ne jamais écraser les autres entrées serveur — ajouter ou mettre à jour uniquement la clé du langage cible.

Comportement

  • Toujours utiliser ask_user avec choices quand demander à l'utilisateur de choisir un langage ou une portée.
  • Si le langage n'est pas listé dans references/lsp-servers.md, chercher sur le web "<language> LSP server" et guider l'utilisateur à travers la configuration manuelle.
  • Si un gestionnaire de paquets n'est pas disponible (par ex. pas de Homebrew sur macOS), suggérer les méthodes d'installation alternatives du fichier de référence.
  • Après l'installation, exécuter which <binary> (ou where.exe sur Windows) pour confirmer que le binaire est accessible.
  • Montrer à l'utilisateur le JSON de configuration final avant de l'écrire.
  • Si le fichier de config existe déjà, le lire d'abord et fusionner — ne pas l'écraser.

Vérification

Après la configuration, dire à l'utilisateur :

  1. Taper /exit pour quitter Copilot CLI — ceci est obligatoire pour que la nouvelle configuration LSP soit chargée au prochain lancement
  2. Relancer copilot dans un projet contenant des fichiers du langage configuré
  3. Exécuter /lsp pour vérifier l'état du serveur
  4. Essayer les fonctionnalités d'intelligence de code comme la navigation vers la définition ou le survol

Skills similaires