IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'assistant de codage Claude Code d'Anthropic ajoute la prise en charge native du protocole LSP (Language Server Protocol) afin de faciliter la navigation, le refactoring et la compréhension du code

Le , par Mathis Lucas

723PARTAGES

2  0 
Claude Code est un agent d'IA de codage accessible depuis un terminal, un ordinateur de bureau ou le Web. La mise à jour Claude Code v2.0.74 a intégré une fonctionnalité d'intelligence de code basée sur le protocole LSP (Language Server Protocol), en plus de la recherche traditionnelle basée sur les outils « grep » et « glob ». Cet ajout permet aux utilisateurs d'appeler directement depuis l'agent des opérations de code basées sur la structure telles que « go-to-definition », « find references » et l'obtention d'informations au survol, ce qui améliore encore la précision et l'efficacité de la recherche et de la refactorisation dans les bases de code à grande échelle.

Claude Code est un assistant d'IA de codage développé par Anthropic. L'assistant comprend votre base de code et vous aide à coder plus rapidement grâce à des commandes en langage naturel. Il s'intègre directement à votre environnement de développement et rationalise votre flux de travail, sans nécessiter de serveurs supplémentaires ou de configuration complexe. Claude Code est accessible depuis un terminal, un ordinateur de bureau ou le Web.

Les principales fonctionnalités de Claude Code sont : éditer des fichiers et corriger de bogues dans une base de code, répondre aux questions sur l'architecture et la logique du code, exécuter et corriger des tests, faire du linting, etc. L'assistant d'Anthropic offre également de nombreuses autres commandes.

L'outil a été mis à jour à plusieurs reprises cette année, chaque mouture intégrant de nouvelles fonctionnalités. Anthropic vient de publier Claude Code v2.0.74, avec de nouvelles fonctionnalités, dont la prise en charge native du protocole LSP (Language Server Protocol). Cette amélioration permet à l'IA d'accéder directement aux informations sur la structure du code, à l'instar des EDI. Cette évolution renforce les capacités de l'assistant de codage.

Rappel sur le protocole LSP (Language Server Protocol)

Le Language Server Protocol (LSP) est un protocole ouvert basé sur JSON-RPC destiné à être utilisé entre les éditeurs de code source ou les environnements de développement intégrés (EDI) et les serveurs qui fournissent des « outils d'intelligence linguistique » : des fonctionnalités spécifiques aux langages telles que la complétion de code, la coloration syntaxique et le marquage des avertissements et des erreurs, ainsi que des routines de refactorisation.

L'objectif du protocole LSP est de permettre la mise en œuvre et la distribution du support des langages de programmation indépendamment de tout éditeur ou EDI donné. Au début des années 2020, le protocole LSP est rapidement devenu la « norme » pour les fournisseurs d'outils d'intelligence linguistique.

Le protocole LSP a été initialement développé pour Microsoft Visual Studio Code et est désormais une norme ouverte. Le 27 juin 2016, Microsoft a annoncé une collaboration avec Red Hat et Codenvy afin de normaliser les spécifications du protocole. Ses spécifications sont hébergées et développées sur GitHub.

Qu'apporte la compatibilité LSP de l'agent Claude Code ?

Claude Code v2.0.30 et les versions ultérieures incluaient en interne l'outil LSP, mais la version v2.0.74 rend disponible l'outil LSP. Grâce à cela, il est désormais possible d'accéder directement à la définition des symboles, aux références, aux informations de type et à la recherche de symboles via le serveur LSP, alors qu'auparavant, le code était suivi à l'aide de la recherche de chaînes de caractères et de la lecture de fichiers avec « glob » et « grep ».


LSP ajoute les fonctionnalités EDI de base que les développeurs attendent de tout outil de codage. Concrètement, la fonction « Go-to-definition » permet d'accéder aux définitions des symboles sans « grep ». La fonction « Find references » localise chaque utilisation d'une fonction ou d'une variable. La documentation contextuelle quant à elle affiche des indications de type au passage de la souris. Et les diagnostics détectent les erreurs en temps réel.

La mise en œuvre de Claude Code nécessite d'activer la variable d'environnement ENABLE_LSP_TOOLS=1. Il existe des plug-ins préconstruits pour TypeScript (vtsls), Python (pyright) et Rust (rust-analyzer), avec une boutique couvrant plus de 10 langages : Go, Java, C/C++, C#, PHP, Kotlin, Ruby, HTML/CSS. Cela comble le fossé en matière de fonctionnalités avec les assistants Cursor et GitHub Copilot, qui ont tous deux intégré LSP dès le départ.

L'avantage pratique réside dans l'efficacité des jetons. Les recherches LSP déterministes surpassent le contexte brûlant sur la navigation générée par les grands modèles de langage (LLM). Les développeurs sur Hacker News ont noté des améliorations. Ils ont signalé une refactorisation plus rapide et un renommage des variables plus fiable dans l'ensemble des bases de code, des tâches mécaniques où les modèles probabilistes font perdre du temps.

Impact de l'intégration de LSP dans l'assistant Claude Code

Comme souligné précédemment, l'intégration de LSP dans Claude Code permet de passer d'une recherche basée sur « grep » à une recherche basée sur la structure. Auparavant, Claude Code utilisait les outils tels que « glob » et « grep » pour rechercher du code à partir du nom de fichier, du chemin d’accès ou de motifs textuels. Cette méthode est certes flexible, mais elle présente également plusieurs inconvénients, dont en voici quelques-uns :

  • lors du renommage de types et de noms de classes, il est facile de commettre des erreurs de détection ou d'omission ;
  • lorsque les symboles homonymes sont nombreux, il est facile d...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !