Claude Code se actualiza sigilosamente, finalmente ya no es una "máquina de búsqueda de texto"
¿Alguna vez te has preguntado esto al escribir código?
¿Por qué puedes saltar directamente a la definición de una función presionando Ctrl + clic en VS Code? ¿Por qué puedes ver la descripción completa de los parámetros al pasar el ratón sobre una función? ¿Por qué tu editor puede decirte dónde está el error antes de ejecutar el código?
Usas estas funciones todos los días, disfrutándolas al máximo.
Pero puede que no sepas que todo esto está respaldado por algo llamado LSP (Language Server Protocol).
Más importante aún, Claude Code también es compatible con LSP a partir de la versión 2.0.74.
¿Qué significa esto?
Significa que Claude Code finalmente ha pasado de ser una "máquina de búsqueda de texto" a una IA que realmente entiende el código.
¿Qué es LSP? En pocas palabras
LSP es un protocolo creado por Microsoft, cuyo propósito es simple:
Hacer que las funciones inteligentes de código se puedan usar en cualquier editor.
Mira:
-
El servidor de lenguaje de TypeScript se puede usar en VS Code, en JetBrains, en Cursor
-
Ahora, también se puede usar en Claude Code
LSP es lo que hace que tu editor sea inteligente:
-
Autocompletar nombres de funciones y parámetros
-
Saltar a la definición
-
Buscar todas las referencias
-
Mostrar documentación al pasar el ratón
-
Informar errores y advertencias en tiempo real
Usas estas funciones innumerables veces todos los días al escribir código.
Pero nunca has pensado en cómo se implementa.
Ahora no tienes que pensar en ello, solo necesitas saber: Claude Code ahora también tiene estas capacidades.
¿Cómo funcionaba Claude Code antes?
Antes de ser compatible con LSP, ¿qué tenía que hacer Claude Code para encontrar dónde se definía una función?
Confiar en la búsqueda con grep.
En pocas palabras, era una búsqueda de texto completo para encontrar dónde aparecían los caracteres "displayBooks".
¿Es esto útil? Sí, lo es.
El modelo de IA ha sido entrenado con una gran cantidad de código y, de hecho, puede inferir muchas cosas del texto.
¿Pero cuál es el problema?
No entiende realmente la estructura del código.
Es como pedirle a alguien que encuentre a "Zhang San", solo puede hojear la libreta de direcciones página por página para encontrar los dos caracteres "Zhang San".
Pero si usas tu teléfono para buscar "Zhang San", llamas directamente a la base de datos y obtienes los resultados en segundos.
Esa es la diferencia.
El Claude Code anterior: leía los archivos uno por uno, confiando en la coincidencia de texto. El Claude Code actual: pregunta directamente al servidor de lenguaje, localizando con precisión
La diferencia de eficiencia no es pequeña.
¿Qué ha aportado LSP a Claude Code?
5 capacidades centrales, cada una de las cuales es una herramienta de eficiencia:
1. goToDefinition - Saltar a la definición
¿Qué puedes hacer con Ctrl+Click en VS Code? Saltar directamente al lugar donde se define la función.
Ahora Claude Code también puede hacer esto.
Le preguntas: "¿Dónde se define la función processRequest? Usa LSP"
No buscará tontamente en todos los archivos.
Pregunta directamente al servidor de lenguaje y obtiene la respuesta en segundos: nombre de archivo, número de línea, ubicación precisa.
2. findReferences - Buscar todas las referencias
Esta es una función asesina.
Quieres refactorizar una función, pero no te atreves a cambiarla, por temor a que se rompa en otros lugares.
¿Qué hacer?
Antes tenías que dejar que Claude Code leyera los archivos uno por uno, lo cual era terriblemente lento.
Ahora simplemente pregunta: "¿En qué lugares se llama a la función displayError? Usa LSP"
El servidor de lenguaje enumera directamente todas las ubicaciones de referencia.
Rápido, preciso y despiadado.
3. hover - Obtener información de documentación y tipo
Cuando pasas el ratón en VS Code, puedes ver la firma de la función, los tipos de parámetros y la documentación.
Claude Code ahora también puede ver esto.
Pregúntale: "¿Qué parámetros acepta la función displayBooks? Usa LSP"
No tiene que adivinar, lee directamente la firma devuelta por el servidor de lenguaje.
Especialmente para lenguajes dinámicos como Python, antes Claude solo podía inferir el tipo basándose en el contexto.Ahora con LSP, la información de tipo es clara de un vistazo.
4. documentSymbol - Lista todos los símbolos del archivo
¿Quieres saber rápidamente qué clases, funciones y variables hay en un archivo?
Pregúntale a Claude: "¿Qué símbolos hay en backend/index.js? Usa LSP"
Te devuelve una lista estructurada, clara y concisa.
5. workspaceSymbol - Búsqueda de símbolos en todo el proyecto
Esto es aún más potente.
No busca texto, busca símbolos.
¿Quieres encontrar todos los métodos que contienen "innerHTML"?
El servidor de lenguaje te los encuentra directamente, no es una coincidencia de cadenas, es un verdadero símbolo de código.
Caso práctico: ¿Qué problemas puede resolver realmente LSP?
Deja de lado lo teórico, veamos casos prácticos.
Caso 1: Seguimiento de llamadas a funciones
Hay un proyecto llamado AseBook Finder, el frontend tiene una función displayBooks.
Quieres saber dónde se llama a esta función.
¿Qué hacías antes? Claude Code grep una y otra vez, posiblemente omitiendo o dando falsos positivos.
Ahora pregunta directamente: "Encuentra todas las referencias a displayBooks usando LSP"
Resultado:
-
Ubicación de la definición de la función
-
Ubicación donde se llama después de que fetch tenga éxito
-
Todos los demás lugares donde se hace referencia
Preciso, rápido y sin omisiones.
Caso 2: Comprender los parámetros de la función
Quieres que Claude genere un fragmento de código que llame a la función displayError.
Pero no estás seguro de qué parámetros acepta esta función.
Pregúntale: "¿Qué parámetros acepta displayError? Usa LSP"
El servidor de lenguaje devuelve directamente: acepta un parámetro message.
Claude lo sabe, el código generado no tendrá errores.
Caso 3: Encontrar llamadas a la API
Quieres encontrar en qué parte del proyecto se llama a la interfaz /api/recommendations.
Pregúntale a Claude: "Encuentra todas las referencias a /api/recommendations usando LSP"
Encuentra la ubicación de la llamada fetch, precisa hasta la línea.
Depurar problemas de API, rastrear el flujo de datos, súper útil.
Caso 4: Detectar errores con anticipación
Estás refactorizando código y accidentalmente escribes mal el nombre de una variable.
Normalmente, tendrías que ejecutar el código para encontrarlo.
Pero con LSP, el servidor de lenguaje realiza comprobaciones en tiempo real y, si encuentra un problema, lo informa inmediatamente a Claude Code.
Claude te dice que hay un error antes de que ejecutes el código.
¿Cómo configurarlo? 5 pasos para hacerlo
No te preocupes, la configuración es sencilla.
Paso 1: Habilitar las herramientas LSP
En tu archivo de configuración de shell (.bashrc o .zshrc) agrega una línea:
exportENABLE_LSP_TOOLS=1 luego ejecuta source ~/.zshrc para que surta efecto.
Paso 2: Instalar el complemento del servidor de lenguaje
Abre Claude Code, ingresa:
/plugin encuentra el complemento correspondiente al idioma que usas:
-
Python: elige pyright-lsp
-
TypeScript/JavaScript: elige vtsls o typescript-lsp
-
Go: elige gopls
-
Rust: elige rust-analyzer
Selecciona "Install for me only" e instala.
Paso 3: Instalar el archivo binario del servidor de lenguaje
El complemento es solo una interfaz, el trabajo real lo realiza el servidor de lenguaje en sí.
Python:
pip install pyrightTypeScript/JavaScript:
npm install -g @vtsls/language-server typescriptGo:
go install golang.org/x/tools/gopls@latestRust:
rustup component add rust-analyzer
Paso 4: Reiniciar Claude Codeclaude
Paso 5: Verificar si funciona
Ingresa /plugin, revisa la pestaña "Installed" y asegúrate de ver tu plugin.
Prueba esto:
Usar LSP para encontrar todas las referencias de someFunction Si Claude Code usa la herramienta find_references en lugar de grep, significa que la instalación fue exitosa.
¿Cuándo usar LSP? ¿Cuándo no?
LSP no es una solución mágica para todo.
Escenarios adecuados para usar LSP:
-
Proyectos grandes (cientos de archivos)
-
Rastrear llamadas a funciones a través de archivos
-
Necesitar firmas de funciones precisas (especialmente lenguajes dinámicos)
-
Refactorizar código, con miedo a introducir errores
Escenarios no adecuados para usar LSP:
-
Proyectos pequeños, scripts rápidos
-
Búsquedas de texto simples
-
Solo buscar una cadena de texto en algún lugar
En resumen, usa grep cuando sea rápido y LSP cuando sea preciso.
Las herramientas están para servir a las personas, no para usarlas por usarlas.
Algunos problemas, te los cuento de antemano
Problema 1: El servidor de lenguaje debe estar en el PATH
Si Claude Code dice "No LSP server available", lo más probable es que tu servidor de lenguaje no esté instalado correctamente o no esté en el PATH.
Ejecuta which pyright (o tu servidor de lenguaje) en la terminal para ver si se puede encontrar.
Problema 2: Reiniciar después de instalar el plugin
Después de instalar un nuevo plugin o actualizar el servidor de lenguaje, asegúrate de reiniciar Claude Code.
Los servidores de lenguaje se cargan al inicio.
Problema 3: A veces es necesario decir explícitamente "usar LSP"
Si descubres que Claude Code todavía está usando grep en lugar de LSP, agrega la frase "usar LSP":
Usar LSP para encontrar todas las referencias de authenticateUser De esta manera, sabrá que debe usar el servidor de lenguaje.
Problema 4: No hay indicaciones visuales
A diferencia de VS Code, Claude Code no te dirá si el servidor LSP está en ejecución.
No hay ícono en la barra de estado, no hay notificaciones.
La única forma de confirmarlo: probarlo realmente.
Unas últimas palabras
El soporte de LSP en Claude Code no es una pequeña actualización, es un cambio radical.
Antes era "búsqueda de texto + inferencia de IA".
Ahora es "servidor de lenguaje + comprensión de IA".
Es como pasar de hojear una agenda telefónica a usar un motor de búsqueda.
La diferencia de eficiencia es abismal.
Si estás usando Claude Code para un proyecto serio, dedica 5 minutos a configurar LSP.
Esos 5 minutos valen la pena.
Lista de acciones:
-
Agrega
export ENABLE_LSP_TOOLS=1a la configuración de tu shell -
Abre Claude Code, ejecuta
/pluginpara instalar tu plugin de lenguaje -
Instala los archivos binarios del servidor de lenguaje correspondientes
-
Reinicia Claude Code
-
Prueba "Usar LSP para encontrar todas las referencias de XXX"
Después de la instalación, descubrirás que:Resulta que Claude Code puede ser así de rápido.





