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:
- Instale el software del servidor LSP en el equipo local.
- 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-setuphabilidad, 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.
-
Vaya al sitio de descarga "Awesome GitHub Copilot" y busque "lsp":
https://awesome-copilot.github.com/skills/?q=lsp. -
Descargue la
lsp-setuphabilidad. -
Descomprima el archivo descargado
.zippara crear un directorio denominadolsp-setup. -
Mueva el
lsp-setupdirectorio a:- Su directorio de aptitudes personales:
~/.copilot/skills/. - Un directorio de aptitudes del proyecto:
.github/skills/en un repositorio de Git.
- Su directorio de aptitudes personales:
-
Inicie CLI de Copiloto si se encuentra actualmente en una sesión de la CLI, escriba
/skills reload. -
Escribe la indicación:
Copilot prompt setup lsp
setup lsp -
Siga las instrucciones en pantalla para seleccionar el idioma del servidor que desea configurar y, a continuación, complete los pasos adicionales.
-
Una vez completado el proceso, escriba
/lsp reloadpara cargar el nuevo servidor LSP. -
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:
npm install -g typescript typescript-language-server
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:
gem install ruby-lsp
gem install ruby-lsp
Como alternativa, puede instalar el solargraph servidor LSP para Ruby con:
gem install solargraph
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:
npm install -g pyright
npm install -g pyright
Como alternativa, si tiene pip instalado, puede instalar el python-lsp-server servidor LSP con:
pip install python-lsp-server
pip install python-lsp-server
Configuración del servidor de idioma
-
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.jsonse 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.
- Configuración de usuario:
-
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 |
Sí | Comando que se usa para iniciar el servidor LSP. |
args |
No | Argumentos para pasar al comando. |
fileExtensions |
Sí | 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
{
"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"
}
}
}
}
{
"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
{
"lspServers": {
"ruby": {
"command": "ruby-lsp",
"args": [],
"fileExtensions": {
".rb": "ruby",
".rbw": "ruby",
".rake": "ruby",
".gemspec": "ruby"
}
}
}
}
{
"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
{
"lspServers": {
"python": {
"command": "pyright-langserver",
"args": ["--stdio"],
"fileExtensions": {
".py": "python",
".pyw": "python",
".pyi": "python"
}
}
}
}
{
"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 Slash | Descripción |
|---|---|
/lsp o /lsp show | Muestra el estado de todos los servidores LSP configurados. |
/lsp test SERVER-NAME | Compruebe si un servidor se inicia correctamente. |
/lsp reload | Vuelva a cargar las configuraciones de LSP desde el disco. |
/lsp help | Mostrar información del /lsp comando. |
Enumeración de servidores LSP disponibles
-
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
-
Después de agregar y configurar un servidor LSP, inicie (o reinicie) CLI de Copilot.
-
Use el comando de barra diagonal:
/lsp test SERVER-NAMEpara 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.