LSP
Qué es
Imagina un corrector ortográfico y gramatical incansable para el código, uno que subraya los errores mientras escribes. Eso es justo lo que ofrece , el Language Server Protocol (Protocolo de Servidor de Lenguaje): una forma común para que los editores y las herramientas obtengan inteligencia de código en vivo sobre un proyecto. Un "servidor de lenguaje" lee tu código mientras trabajas y reporta errores, información de tipos, sugerencias de autocompletado y enlaces de "ir a la definición". El protocolo permite que un solo servidor de lenguaje potencie muchos editores: las mismas líneas rojas onduladas que ves en VS Code también pueden alimentar una herramienta de línea de comandos o un de codificación con IA.
Fortalezas
- Da retroalimentación real y consciente del lenguaje: errores de tipos reales y referencias no definidas, no solo suposiciones.
- Está estandarizado, así que un solo servidor funciona en muchos editores y herramientas.
- Se actualiza mientras escribes, así que los problemas aparecen de inmediato en lugar de solo al compilar.
- Impulsa las funciones cotidianas de las que dependen los desarrolladores: autocompletado, documentación al pasar el cursor, renombrado, salto a la definición.
Contrapartidas
- Cada lenguaje necesita su propio servidor, y la calidad varía entre ellos.
- Los servidores pueden consumir mucha memoria y CPU (el procesador de la computadora) en proyectos grandes.
- Te dice qué está mal, no cómo arreglarlo: la interpretación sigue siendo tuya (o de la IA).
- La configuración puede ser delicada; conseguir el servidor correcto configurado para un proyecto requiere cierto cuidado.
Cuándo usarlo
Siempre que quieras retroalimentación confiable y en tiempo real sobre el código a medida que se escribe, lo cual básicamente es siempre. Para el vibe coding importa sobre todo como fuente de señales: los diagnósticos que produce un servidor de lenguaje son exactamente lo que quieres que regrese al ciclo de trabajo.
Encaje con el vibe coding
LSP es lo que permite que una IA vea los mismos problemas que tú ves. Un buen arnés (harness) canaliza los diagnósticos del servidor de lenguaje de vuelta al agente después de cada edición, de modo que la IA detecta sus propios errores de tipos y de lint y los corrige antes de que tú siquiera ejecutes el código. En lugar de "parece plausible", obtienes "el compilador está de acuerdo". Dile a tu agente que lea los diagnósticos, no solo el archivo.
// a diagnostic an LSP server returns — feed this back to the agent
{
"severity": "error",
"range": { "start": { "line": 12, "character": 6 } },
"message": "Type 'string' is not assignable to type 'number'."
}