Claude Code foi atualizado secretamente e finalmente não é mais uma "máquina de busca de texto"
Quando você está escrevendo código, você já pensou em uma pergunta:
Por que no VS Code, ao pressionar Ctrl + clique, você pode pular diretamente para a definição da função? Por que quando você passa o mouse sobre uma função, você pode ver a descrição completa dos parâmetros? Por que antes mesmo de seu código ser executado, o editor pode te dizer onde está errado?
Você usa essas funções todos os dias, e é muito bom.
Mas você pode não saber que tudo isso é suportado por algo chamado LSP (Language Server Protocol).
Mais importante, a versão 2.0.74 do Claude Code agora também suporta LSP.
O que isso significa?
Significa que o Claude Code finalmente se transformou de uma "máquina de busca de texto" em uma IA que realmente entende o código.
O que é LSP? Em termos simples
LSP é um protocolo criado pela Microsoft, com um objetivo simples:
Permitir que funções inteligentes de código sejam usadas em qualquer editor.
Veja:
-
O servidor de linguagem TypeScript pode ser usado no VS Code, no JetBrains e no Cursor
-
Agora, também pode ser usado no Claude Code
LSP é o que torna seu editor inteligente:
-
Autocompletar nomes de funções e parâmetros
-
Ir para a definição
-
Encontrar todas as referências
-
Exibir documentação ao passar o mouse
-
Relatar erros e avisos em tempo real
Você escreve código todos os dias e usa essas funções inúmeras vezes.
Mas você nunca pensou em como isso é implementado.
Agora você não precisa pensar, só precisa saber: Claude Code agora também tem essas capacidades.
Como o Claude Code funcionava antes?
Antes de suportar LSP, o que o Claude Code tinha que fazer para encontrar onde uma função era definida?
Confiar na busca grep.
Em termos simples, é uma busca de texto completo, encontrando onde os caracteres "displayBooks" aparecem.
Isso funciona? Funciona.
O modelo de IA treinou uma enorme quantidade de código e pode realmente inferir muitas coisas do texto.
Mas qual é o problema?
Não entende realmente a estrutura do código.
É como se você pedisse a alguém para encontrar "João", ele só pode folhear a lista de contatos página por página para encontrar as duas palavras "João".
E se você usar seu celular para pesquisar "João", você chama diretamente o banco de dados e obtém os resultados em segundos.
Essa é a diferença.
Claude Code anterior: lê arquivo por arquivo, contando com correspondência de texto Claude Code atual: pergunta diretamente ao servidor de linguagem, localização precisa
A diferença de eficiência não é pequena.
O que o LSP trouxe para o Claude Code?
5 capacidades principais, cada uma é uma ferramenta de eficiência:
1. goToDefinition - Ir para a definição
O que Ctrl+Click faz no VS Code? Vai direto para o local da definição da função.
Agora Claude Code também pode fazer isso.
Você pergunta a ele: "Onde a função processRequest é definida? Use LSP"
Ele não vai pesquisar estupidamente em todos os arquivos.
Ele pergunta diretamente ao servidor de linguagem e obtém a resposta em segundos: nome do arquivo, número da linha, localização precisa.
2. findReferences - Encontrar todas as referências
Esta é uma função matadora.
Você quer refatorar uma função, mas não ousa mudar, com medo de quebrar outros lugares.
O que fazer?
Antes você tinha que deixar o Claude Code ler arquivo por arquivo, era muito lento.
Agora pergunte diretamente: "Onde a função displayError é chamada? Use LSP"
O servidor de linguagem lista diretamente todos os locais de referência.
Rápido, preciso e implacável.
3. hover - Obter informações de documentação e tipo
Quando você passa o mouse no VS Code, você pode ver a assinatura da função, o tipo de parâmetro e a descrição da documentação.
Claude Code agora também pode ver.
Pergunte a ele: "Quais parâmetros a função displayBooks aceita? Use LSP"
Ele não precisa adivinhar, ele lê diretamente a assinatura retornada pelo servidor de linguagem.
Especialmente para linguagens dinâmicas como Python, antes Claude só podia inferir o tipo com base no contexto. Agora com LSP, as informações de tipo são claramente visíveis.
4. documentSymbol - Listar todos os símbolos do arquivo
Quer saber rapidamente quais classes, funções e variáveis existem em um arquivo?
Pergunte ao Claude: "Quais símbolos existem em backend/index.js? Use LSP"
Ele retorna uma lista estruturada para você, de forma clara.
5. workspaceSymbol - Pesquisa de símbolos em todo o projeto
Este é ainda mais poderoso.
Não pesquisa texto, mas símbolos.
Quer encontrar todos os métodos que contêm "innerHTML"?
O servidor de linguagem encontra diretamente para você, não é correspondência de strings, mas um símbolo de código real.
Prática: Que problemas o LSP realmente resolve?
Deixe de lado as coisas abstratas e veja casos práticos.
Caso 1: Rastrear chamadas de função
Existe um projeto chamado AseBook Finder, e o frontend tem uma função displayBooks.
Você quer saber onde essa função é chamada.
O que você faria antes? Claude Code grep uma vez, pode perder ou relatar falsamente.
Agora, pergunte diretamente: "Encontre todas as referências de displayBooks usando LSP"
Resultado:
-
Localização da definição da função
-
Localização da chamada após o fetch ser bem-sucedido
-
Todos os outros locais de referência
Preciso, rápido e sem omissões.
Caso 2: Entender os parâmetros da função
Você quer que Claude gere um trecho de código que chame a função displayError.
Mas você não tem certeza de quais parâmetros essa função aceita.
Pergunte a ele: "Quais parâmetros displayError aceita? Use LSP"
O servidor de linguagem retorna diretamente: aceita um parâmetro message.
Claude sabe e o código gerado não terá erros.
Caso 3: Encontrar chamadas de API
Você quer encontrar onde no projeto a interface /api/recommendations é chamada.
Pergunte ao Claude: "Encontre todas as referências de /api/recommendations usando LSP"
Ele encontra a localização da chamada fetch, com precisão até a linha.
Depurar problemas de API, rastrear fluxo de dados, super útil.
Caso 4: Detectar erros antecipadamente
Você está refatorando o código e, acidentalmente, digitou incorretamente o nome de uma variável.
Normalmente, você precisa executar o código para descobrir.
Mas com LSP, o servidor de linguagem verifica em tempo real e relata o problema imediatamente para Claude Code.
Claude informa que há um erro aqui antes mesmo de você executar o código.
Como configurar? 5 passos para concluir
Não se preocupe, a configuração é simples.
Passo 1: Habilitar as ferramentas LSP
Adicione uma linha no seu arquivo de configuração do shell (.bashrc ou .zshrc):
export ENABLE_LSP_TOOLS=1 e execute source ~/.zshrc para entrar em vigor.
Passo 2: Instalar o plugin do servidor de linguagem
Abrir Claude Code, digite:
/plugin encontre o plugin correspondente à sua linguagem:
-
Python: selecione pyright-lsp
-
TypeScript/JavaScript: selecione vtsls ou typescript-lsp
-
Go: selecione gopls
-
Rust: selecione rust-analyzer
Selecione "Install for me only" e instale.
Passo 3: Instalar o arquivo binário do servidor de linguagem
O plugin é apenas uma interface, o servidor de linguagem em si é quem realmente faz o trabalho.
Python:
pip install pyright
TypeScript/JavaScript:
npm install -g @vtsls/language-server typescript
Go:
go install golang.org/x/tools/gopls@latest
Rust:
rustup component add rust-analyzer
Passo 4: Reiniciar Claude CodeApós a instalação, reinicie o Claude Code.
claude
Passo 5: Verificando se está funcionando
Digite /plugin e verifique a aba "Installed" para ver seu plugin. Se ele estiver lá, está tudo certo.
Teste:
Use LSP para encontrar todas as referências de someFunction Se o Claude Code usar a ferramenta find_references em vez de grep, significa que a instalação foi bem-sucedida.
Quando usar LSP? Quando não usar?
LSP não é uma solução para tudo.
Cenários adequados para usar LSP:
-
Projetos grandes (centenas de arquivos)
-
Rastreamento de chamadas de função entre arquivos
-
Necessidade de assinaturas de função precisas (especialmente em linguagens dinâmicas)
-
Refatoração de código, com medo de introduzir bugs
Cenários inadequados para usar LSP:
-
Projetos pequenos, scripts rápidos
-
Pesquisas de texto simples
-
Apenas encontrar uma string em algum lugar
Em resumo, use grep quando for rápido e LSP quando for preciso.
As ferramentas existem para servir as pessoas, não para serem usadas por usar.
Algumas armadilhas, para você se preparar
Armadilha 1: O servidor de linguagem deve estar no PATH
Se o Claude Code disser "No LSP server available", provavelmente seu servidor de linguagem não foi instalado corretamente ou não está no PATH.
Execute which pyright (ou seu servidor de linguagem) no terminal para ver se consegue encontrá-lo.
Armadilha 2: Reinicie após instalar o plugin
Depois de instalar um novo plugin ou atualizar o servidor de linguagem, certifique-se de reiniciar o Claude Code.
Os servidores de linguagem são carregados na inicialização.
Armadilha 3: Às vezes, é preciso dizer explicitamente "use LSP"
Se você perceber que o Claude Code ainda está usando grep em vez de LSP, adicione a frase "use LSP":
Use LSP para encontrar todas as referências de authenticateUser Assim, ele saberá que deve usar o servidor de linguagem.
Armadilha 4: Sem dicas visuais
Ao contrário do VS Code, o Claude Code não informa se o servidor LSP está em execução.
Sem ícone na barra de status, sem notificações.
A única maneira de confirmar: teste na prática.
Considerações finais
O suporte a LSP no Claude Code não é uma pequena atualização, é uma mudança radical.
Antes, era "pesquisa de texto + inferência de IA".
Agora é "servidor de linguagem + compreensão de IA".
É como passar de folhear uma lista telefônica para usar um mecanismo de busca.
A diferença de eficiência é enorme.
Se você estiver usando o Claude Code para um projeto sério, gaste 5 minutos para configurar o LSP.
Esses 5 minutos valem a pena.
Lista de tarefas:
-
Adicione
export ENABLE_LSP_TOOLS=1à sua configuração de shell -
Abra o Claude Code e execute
/pluginpara instalar seu plugin de linguagem -
Instale o arquivo binário do servidor de linguagem correspondente
-
Reinicie o Claude Code
-
Teste "Use LSP para encontrar todas as referências de XXX"
Após a instalação, você descobrirá: Afinal, o Claude Code pode ser tão rápido assim.





