Introducción
El Protocolo de servidor de lenguaje (LSP) es un estándar abierto que se usa para la comunicación entre un editor de código y un servidor de lenguaje. Un servidor de lenguaje es un proceso que proporciona características específicas del lenguaje, como ir a la definición y cambiar el nombre de un símbolo de código en la base de código. Un "servidor LSP" es cualquier servidor de idioma que admita el protocolo de servidor de idioma.
CLI de GitHub Copilot puede usar servidores LSP para comprender la estructura del código de forma más precisa. Al agregar y configurar un servidor LSP para cada lenguaje de programación en tu proyecto, le proporcionarás a CLI de Copilot una mejor comprensión de tu código.
Ventajas de los servidores LSP
-
**Precisión**: los resultados proceden del propio compilador o analizador del lenguaje, lo que proporciona una comprensión de la estructura del código. Esto mejora la precisión de Copilot al trabajar con su código. Por ejemplo, cuando Copilot puede usar "ir a la definición", encontrará la definición real, no una coincidencia de texto similar. -
**Eficacia del token**: las operaciones como "enumerar todos los símbolos" o "buscar referencias" devuelven resultados estructurados compactos en lugar de requerir que el agente lea archivos completos en la conversación. -
**Refactorización segura**: al cambiar el nombre de un símbolo, el servidor LSP actualiza de forma confiable todas las referencias del proyecto. -
**Velocidad**: los servidores de lenguaje indexan el proyecto en segundo plano, lo que permite respuestas casi instantáneas.
Qué permiten los servidores LSP hacer CLI de Copilot
Cuando los servidores LSP están disponibles, CLI de Copilot los usa automáticamente. No es necesario solicitarlo explícitamente. CLI de Copilot usará un servidor LSP en lugar de una búsqueda basada en texto siempre que pueda acceder a un servidor LSP para el lenguaje de programación que está usando.
Se admiten las siguientes operaciones de servidor de lenguaje:
| Operación | Qué hace |
|---|---|
| Ir a la definición | Salta a donde se define un símbolo (función, clase, variable). |
| Buscar referencias | Busca todas las ubicaciones en las que se usa un símbolo. |
| Pasar el ratón por encima | Recupera la información de tipo y la documentación de un símbolo. |
| Rename | Cambia el nombre de un símbolo en todo el proyecto y actualiza todas las referencias. |
| Símbolos de documento | Enumera todos los símbolos definidos en un archivo. |
| Búsqueda de símbolos del área de trabajo | Busca símbolos por nombre en el proyecto. |
| Ir a la implementación | Busca implementaciones de una interfaz o un método abstracto. |
| Llamadas entrantes | Muestra qué funciones llaman a una función determinada. |
| Llamadas salientes | Muestra qué funciones son llamadas por una función dada. |
Copilot selecciona la operación LSP más adecuada en función del mensaje. Por ejemplo, si pregunta "¿dónde `handlePayment` se define?", Copilot usará la operación de ir a la definición.
Cómo agregar un servidor LSP
Para CLI de Copilot poder usar un servidor LSP, primero debe instalar el software de servidor en el equipo local y, a continuación, configurarlo en uno de los archivos de configuración que CLI de Copilot lee en el inicio. Consulte Adición de servidores LSP para CLI de GitHub Copilot.
También se puede agregar un servidor LSP como parte de un complemento de la CLI que elija instalar. Un complemento puede incluir un servidor LSP si, por ejemplo, está diseñado para trabajar con un lenguaje de programación poco común o un tipo de archivo específico del marco. Los servidores LSP incluidos como parte de un complemento están disponibles automáticamente al instalar el complemento; no se necesita ninguna configuración adicional. Si desinstala el complemento, se quita el servidor LSP. Para obtener más información, vea Acerca de los complementos para CLI de GitHub Copilot.
Cómo se cargan los servidores LSP
Cuando CLI de GitHub Copilot se inicia, carga las configuraciones del servidor LSP desde varios orígenes con la prioridad siguiente (más alta a más baja):
-
**Project config**: `.github/lsp.json` en el repositorio actual. -
**Configuraciones de complementos**: servidores de idioma proporcionados por complementos instalados. -
**Configuración del usuario**: `~/.copilot/lsp-config.json`.
Las configuraciones de mayor prioridad invalidan las de prioridad inferior con el mismo nombre de servidor. Esto significa que un proyecto puede personalizar o deshabilitar servidores de idioma para todos los colaboradores.
Una vez que el directorio de trabajo es de confianza, CLI de Copilot inicia automáticamente los servidores LSP que sean relevantes para el proyecto, en segundo plano, por lo que están listos para responder inmediatamente cuando sea necesario.
Pasos siguientes
-
[AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers)
Lectura adicional
-
[Language Server Protocol](https://microsoft.github.io/language-server-protocol/) en el sitio web de Microsoft -
[AUTOTITLE](/copilot/reference/cli-command-reference)