Claude Code foi secretamente atualizado, finalmente não é mais uma "máquina de busca de texto"
Você já pensou em um problema ao escrever código:
Por que você pode pular diretamente para a definição da função pressionando Ctrl + Clique no VS Code? Por que você pode ver a descrição completa dos parâmetros ao passar o mouse sobre uma função? Por que seu editor pode te dizer onde está errado antes mesmo de você executar o código?
Você usa esses recursos 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, o Claude Code versão 2.0.74 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 recursos inteligentes de código sejam usados 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ê usa esses recursos inúmeras vezes todos os dias ao escrever código.
Mas você nunca pensou em como isso é implementado.
Agora você não precisa pensar, basta 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 pedir a alguém para encontrar "João", ele só pode virar as páginas da lista telefônica para encontrar as duas palavras "João".
E quando você usa seu telefone 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 delas 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 o Claude Code também pode fazer isso.
Você pergunta: "Onde a função processRequest é definida? Use LSP"
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
Este é um recurso matador.
Você quer refatorar uma função, mas tem medo de mudar, com medo de quebrar outros lugares.
O que fazer?
Antes, você tinha que deixar o Claude Code ler arquivo por arquivo, o que era extremamente lento.
Agora, basta perguntar: "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, os tipos de parâmetros e a documentação.
Claude Code agora também pode ver.
Pergunte: "Quais parâmetros a função displayBooks aceita? Use LSP"
Não precisa adivinhar, apenas lê a assinatura retornada pelo servidor de linguagem.
Especialmente para linguagens dinâmicas como Python, antes Claude só podia inferir tipos 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, de forma clara.
5. workspaceSymbol - Pesquisa de símbolos em todo o projeto
Este é ainda mais poderoso.
Não pesquisa texto, mas sim 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 sim símbolos de código reais.
Prática: O que o LSP realmente resolve?
Deixe de lado as coisas abstratas e veja exemplos 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 o Claude gere um trecho de código, chamando 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 o LSP, o servidor de linguagem verifica em tempo real e relata o problema imediatamente ao 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 então 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 que realmente funciona é o próprio servidor de linguagem.
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: Verificar se está funcionando
Digite /plugin, verifique a aba "Installed" e veja seu plugin. Se 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 foi bem-sucedido.
Quando usar LSP? Quando não usar?
LSP não é uma bala de prata.
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 linguagens dinâmicas)
-
Refatoração de código, com medo de introduzir bugs
Cenários inadequados para usar LSP:
-
Projetos pequenos, scripts rápidos
-
Pesquisa 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 te avisar com antecedência
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.
Para finalizar
A compatibilidade do Claude Code com LSP não é uma pequena atualização, é uma mudança qualitativa.
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 ações:
-
Adicione
export ENABLE_LSP_TOOLS=1na configuração do 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 consegue ser tão rápido.





