ESPACE PUBLICITAIRE DISPONIBLE · PARLONS-EN

Comment utiliser Tabnine Chat dans VS Code et JetBrains pour tester, expliquer et refactoriser du code

365Finds Editorial
11 430 articles Wiki répertoriés

Utilisez 365 Wiki avec votre IA

Copiez le prompt ci-dessous, collez-le dans l’IA que vous utilisez déjà, puis posez directement votre question.

Télécharger le Skill complet

Commencez par essayer le prompt. Si vous utilisez souvent 365 Wiki, installez le Skill 365Wiki complet pour ne plus avoir à le coller. Sans IA habituelle, les versions web de Gemini ou Microsoft Copilot conviennent aussi.

Tabnine Chat intègre un assistant d'intelligence artificielle conversationnelle directement au cœur des éditeurs Visual Studio Code et des IDE de la suite JetBrains (tels qu'IntelliJ IDEA, PyCharm, WebStorm et GoLand). Plutôt que d'effectuer des allers-retours fastidieux entre un navigateur web et leur éditeur, les développeurs s'appuient sur Tabnine Chat pour générer des suites de tests unitaires, analyser la logique métier complexe ou héritée, et mener des refactorisations ciblées sans jamais quitter leur espace de travail.

Ce guide pratique détaille la manière dont les ingénieurs logiciels exploitent Tabnine Chat dans VS Code et JetBrains pour accomplir ces trois tâches de développement quotidiennes, en couvrant les méthodes d'activation, l'injection de contexte via des mentions (@ et %), la conception de prompts structurés et l'application des modifications à l'aide des outils de comparaison visuelle (Diff).


1. Accès et déclenchement de Tabnine Chat dans l'IDE

Tabnine Chat se présente sous la forme d'un volet latéral persistant et de contrôles contextuels affichés directement au-dessus du code source.

Ouvrir le panneau de discussion

Trois modes d'interaction

  1. CodeLens au niveau méthode : Dans les langages pris en charge (Java, Python, TypeScript, JavaScript, Go, Rust, C#, PHP, Swift et C/C++), Tabnine insère des boutons CodeLens au-dessus des signatures de fonctions. Cliquer sur Explain ou Test ouvre instantanément le chat ciblé sur la méthode concernée.
  2. Actions rapides globales (commandes slash /) : Taper / dans la barre de saisie du chat ou cliquer sur les pastilles de démarrage rapide permet de lancer des actions prédéfinies comme /explain-code (expliquer le code), /generate-test-for-code (générer des tests), /fix-code (corriger les erreurs) et /document-code (générer la documentation).
  3. Requêtes en langage naturel avec contexte de projet : Le développeur peut sélectionner un bloc de code, saisir ses instructions et enrichir sa demande en mentionnant des éléments précis avec @ (classes, interfaces, fonctions) et % (fichiers).

2. Génération interactive de tests unitaires (Unit Tests)

La rédaction répétitive de code de test et la couverture des cas limites constituent un cas d'usage privilégié de Tabnine Chat.

Méthode A : Action rapide en un clic

  1. Mettez en surbrillance la fonction ou la classe à tester dans l'éditeur.
  2. Dans le champ Tabnine Chat, saisissez /generate-test-for-code ou cliquez sur la pastille dédiée.
  3. Tabnine analyse l'implémentation et génère une suite de tests couvrant le chemin nominal ainsi que les cas limites habituels.

Méthode B : Prompts structurés et contextualisés

Dans les projets d'entreprise, les tests doivent respecter des frameworks spécifiques, des mécanismes de doublure (mocks) et des conventions d'assertion strictes :

Exemple de prompt :
Génère une suite complète de tests unitaires pour la méthode sélectionnée avec JUnit 5 et Mockito.
Contexte : @OrderRepository, @PaymentClient
Exigences :
1. Tester la création réussie d'une commande avec code de retour 200 OK.
2. Tester le cas d'inventaire insuffisant levant l'exception OutOfStockException.
3. Vérifier le rollback de transaction lors d'un échec de paiement.
4. Mocker l'ensemble des requêtes en base de données et des appels HTTP externes.

Commandes d'équipe standardisées (.tabnine_commands)

Pour harmoniser la rédaction des tests au sein d'une équipe :

  1. Dans Tabnine Chat, cliquez sur l'icône Settings (engrenage) > Add sous Define custom commands.
  2. Nommez la commande (ex. : /test-service) et concevez le modèle de prompt en utilisant la variable $selected_code.
  3. Validez et intégrez le fichier .tabnine_commands à la racine du dépôt Git pour partager ce modèle avec tous les développeurs.

3. Comprendre et expliquer la logique de code (Explain Code)

Lors de la reprise de code hérité, de l'analyse d'expressions régulières complexes ou de l'intégration de bibliothèques tierces, Tabnine Chat propose une décomposition méthodique.

Explication rapide de la logique

  1. Sélectionnez le bloc de code dans VS Code ou JetBrains.
  2. Cliquez sur le CodeLens flottant Explain au-dessus de la méthode ou saisissez /explain-code.
  3. Tabnine structure son analyse autour de plusieurs axes :
    • Rôle principal de la fonction, arguments reçus et types retournés.
    • Déroulement des branchements conditionnels, des boucles et des états internes.
    • Effets de bord potentiels et gestion de l'asynchronisme.

Dialogue interactif d'approfondissement

Contrairement à une documentation figée, Tabnine Chat permet de relancer la discussion pour clarifier des points techniques précis :

Personnalisation de la profondeur et du ton

Dans les paramètres du chat :


4. Refactorisation de fonctions existantes (Refactoring)

La refactorisation vise à assainir la lisibilité et la maintenabilité d'un composant sans altérer son comportement fonctionnel en production.

Structurer un prompt de refactorisation efficace

Évitez les formulations vagues comme « améliore ce code ». Appliquez une trame rigoureuse :

  1. Objectif (Goal) : Explicitez la technique à appliquer (ex. : extraction de méthode, remplacement de conditions imbriquées par des clauses de garde, transformation de boucles impératives en streams).
  2. Contexte (Context) : Liez les modèles de données et classes d'aide avec @.
  3. Contraintes (Constraints) : Posez des règles inaltérables : « Conserver la signature publique de la méthode et son type de retour » et « Préserver strictement le format des erreurs et les types d'exceptions levées ».
  4. Validation (Validation) : Exigez la compatibilité intégrale avec les tests unitaires existants.
Exemple de prompt :
Objectif : Refactoriser la fonction sélectionnée afin de réduire sa complexité cyclomatique.
Technique : Remplacer les blocs if-else imbriqués par des clauses de garde (guard clauses) et des retours anticipés (early return).
Contraintes :
- Conserver la signature de méthode et l'interface publique d'origine.
- Ne pas modifier les formats des journaux d'erreurs ni les codes d'état.
- Maintenir un comportement d'exécution et une gestion des exceptions strictement identiques.
Contexte : @OrderValidationService

Vérifier et appliquer le code dans l'IDE

Tabnine propose des commandes intégrées pour réinjecter le code sans manipulation manuelle :

ActionComportement dans VS Code et JetBrains
Show DiffS'affiche lorsque la suggestion modifie du code existant. Ouvre une vue de comparaison côte à côte ou en ligne mettant en évidence les suppressions en rouge et les ajouts en vert. Dans VS Code, permet de cliquer sur Accept pour valider chaque modification de manière sélective.
ApplySitué dans le coin supérieur droit du bloc de code proposé. Remplace d'un simple clic le code sélectionné dans le fichier actif.
InsertInsère le code généré directement à l'emplacement actuel du curseur dans l'éditeur.
CopyCopie l'extrait de code dans le presse-papiers pour un ajustement manuel.

5. Bonnes pratiques pour garantir des résultats fiables

En combinant les raccourcis CodeLens, des prompts structurés et une vérification par Diff intégrée, Tabnine Chat devient un assistant précieux pour tester, décrypter et refactoriser le code dans VS Code et les IDE JetBrains.


Références