Skip to main content

Adición de servidores LSP para CLI de GitHub Copilot

Puede agregar servidores LSP para proporcionar CLI de Copilot inteligencia de código precisa, lo que mejora su capacidad de navegar por definiciones, buscar referencias y cambiar el nombre de símbolos.

Introducción

En este artículo se explica cómo agregar servidores LSP para CLI de Copilot. Para obtener información conceptual sobre los servidores LSP, consulte Uso de servidores LSP con CLI de GitHub Copilot.

Agregar un servidor LSP para CLI de Copilot es un proceso de dos pasos:

  1. Instale el software del servidor LSP en el equipo local.
  2. Configure el servidor en un archivo de configuración.

Estos pasos se describen en detalle en este artículo.

Instalación y configuración de un servidor LSP

Puede agregar un servidor LSP para un idioma específico mediante:

  • Con la lsp-setup habilidad, que automatiza el proceso.
  • Instalar manualmente el software de servidor y, a continuación, configurar CLI de Copilot para usar el servidor.

Estos dos enfoques se describen en las secciones siguientes.

Uso de la lsp-setup habilidad para agregar un servidor de lenguajes

La lsp-setup aptitud del repositorio "Awesome GitHub Copilot" automatiza la instalación y configuración de una selección de idiomas populares.

  1. Vaya al sitio de descarga "Awesome GitHub Copilot" y busque "lsp":

           https://awesome-copilot.github.com/skills/?q=lsp.
    
  2. Descargue la lsp-setup habilidad.

  3. Descomprima el archivo descargado .zip para crear un directorio denominado lsp-setup.

  4. Mueva el lsp-setup directorio a:

    • Su directorio de aptitudes personales: ~/.copilot/skills/.
    • Un directorio de aptitudes del proyecto: .github/skills/ en un repositorio de Git.
  5. Inicie CLI de Copiloto si se encuentra actualmente en una sesión de la CLI, escriba /skills reload.

  6. Escribe la indicación:

    Copilot prompt
    setup lsp
    
  7. Siga las instrucciones en pantalla para seleccionar el idioma del servidor que desea configurar y, a continuación, complete los pasos adicionales.

  8. Una vez completado el proceso, escriba /lsp reload para cargar el nuevo servidor LSP.

  9. Compruebe que el servidor se ha agregado y funciona correctamente. Consulte Confirmación de que un servidor LSP está disponible más adelante en este artículo.

Instalación y configuración manual de un servidor LSP

La instalación de un servidor LSP para un lenguaje específico suele implicar la instalación de un paquete a través de un administrador de paquetes como npm, gemo pip.

Para instalar manualmente un servidor LSP, consulte la documentación del servidor de idioma específico que desea instalar. A continuación se enumeran algunos comandos de ejemplo para instalar servidores LSP populares.

Nota:

Entre los recursos útiles para buscar servidores LSP para distintos lenguajes se incluyen: * Implementations en el sitio web de Language Server Protocol de Microsoft. * Protocolo de servidor de lenguaje en el sitio web de Arch Linux.

Precaución

Instale solo los servidores LSP desde orígenes de confianza.

Comando de instalación de ejemplo: TypeScript y JavaScript

Si tiene Node.js instalado, puede instalar el typescript-language-server servidor LSP con el siguiente comando:

Bash
npm install -g typescript typescript-language-server

El typescript-language-server servidor LSP admite TypeScript y JavaScript.

Comando de instalación de ejemplo: Ruby

Si tiene una gema instalada, puede instalar el ruby-lsp servidor LSP con el siguiente comando:

Bash
gem install ruby-lsp

Como alternativa, puede instalar el solargraph servidor LSP para Ruby con:

Bash
gem install solargraph

Comando de instalación de ejemplo: Python

Si tiene Node.js instalado, puede instalar el pyright servidor LSP con el siguiente comando:

Bash
npm install -g pyright

Como alternativa, si tiene pip instalado, puede instalar el python-lsp-server servidor LSP con:

Bash
pip install python-lsp-server

Configuración del servidor de idioma

  1. Para configurar el servidor LSP, agregue una definición de servidor a cualquiera de los dos archivos de configuración:

    • Configuración de usuario: ~/.copilot/lsp-config.json se aplica a todos los proyectos.
    • Configuración del proyecto: .github/lsp.json, en el repositorio, se aplica a todos los que trabajan en ese proyecto.

    Ambos archivos usan la misma sintaxis JSON:

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

    Algunos ejemplos de definiciones de servidor para servidores LSP específicos se proporcionan más adelante en este artículo.

  2. Después de instalar y configurar el servidor, confirme que CLI de Copilot puede usarlo. Consulte Confirmación de que un servidor LSP está disponible a continuación.

Campos de configuración

Cada definición de servidor del archivo de configuración debe tener un nombre único y contener solo caracteres alfanuméricos, caracteres de subrayado y guiones.

Dentro de cada definición de servidor, los campos siguientes están disponibles o obligatorios:

Campo Obligatorio Descripción
command Comando que se usa para iniciar el servidor LSP.
args No Argumentos para pasar al comando.
fileExtensions Mapa JSON de extensiones de archivo y su identificador de lenguaje correspondiente (por ejemplo, { ".rs": "rust" }).
env No Variables de entorno que se van a establecer al iniciar el servidor. Admite la sintaxis de expansión ${VAR} y ${VAR:-default}.
rootUri No Directorio raíz del servidor LSP, en relación con la raíz de Git. Tiene como valor predeterminado ".". Útil para monorepos. Si el proyecto reside en un subdirectorio del repositorio de Git en lugar de en la raíz del repositorio, establezca en rootUri esa ruta de acceso del subdirectorio.
initializationOptions No Opciones personalizadas enviadas al servidor durante el inicio.
requestTimeoutMs No Tiempo de espera para las solicitudes de servidor en milisegundos (valor predeterminado: 90 segundos).

Definición de servidor de ejemplo: typescript-language-server servidor 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"
      }
    }
  }
}

Definición de servidor de ejemplo: ruby-lsp servidor LSP

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

Definición de servidor de ejemplo: pyright servidor LSP para Python

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

Administración de servidores de idioma con el /lsp comando

Puede enumerar y administrar los servidores LSP en una sesión interactiva de la CLI mediante el /lsp comando de barra diagonal:

Comando SlashDescripción
/lsp o /lsp showMuestra el estado de todos los servidores LSP configurados.
/lsp test SERVER-NAMECompruebe si un servidor se inicia correctamente.
/lsp reloadVuelva a cargar las configuraciones de LSP desde el disco.
/lsp helpMostrar información del /lsp comando.

Enumeración de servidores LSP disponibles

  1. En CLI de Copilot, confirma que el servidor LSP que elegiste está disponible mediante el comando slash /lsp. Verá una salida como:

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

Confirmación de que hay disponible un servidor LSP

  1. Después de agregar y configurar un servidor LSP, inicie (o reinicie) CLI de Copilot.

  2. Use el comando de barra diagonal: /lsp test SERVER-NAME para comprobar que el servidor LSP funciona correctamente.

           CLI de Copilot intenta iniciar una instancia temporal independiente del servidor e informa de si se realizó correctamente o si se produjeron errores. A continuación, elimina el proceso de servidor temporal.
    

Lectura adicional