JetBrains AI Assistant intègre des fonctionnalités de codage assisté par IA générative, des agents autonomes multi-étapes et une intelligence sémantique approfondie du code directement au sein des environnements de développement JetBrains, notamment IntelliJ IDEA, PyCharm, WebStorm, GoLand, CLion, Rider, PhpStorm, RubyMine, RustRover, DataGrip et DataSpell. Loin de se limiter à une interface de chat isolée ou à un prédicteur de texte générique, l'assistant se connecte à l'index de projet interne de l'EDI, aux arbres de syntaxe abstraite (AST) et aux systèmes de contrôle de version pour offrir une génération de code tenant compte du contexte, des autocomplétions multilignes, des suggestions de modifications ultérieures (Next Edit Suggestions), la création automatisée de tests et le refactoring structurel. Déployer et configurer avec succès JetBrains AI Assistant nécessite de la part des développeurs de logiciels et des responsables techniques de vérifier les prérequis de version de l'EDI, de procéder à l'installation et à l'activation des licences pour les niveaux individuels ou d'entreprise, d'ajuster les paramètres de complétion dans l'éditeur, d'établir des règles de projet à l'échelle du dépôt et de configurer les limites de sécurité autour des fournisseurs de modèles et des outils externes du Model Context Protocol (MCP).
Compatibilité de l'EDI et prérequis de version
Avant d'activer JetBrains AI Assistant, les développeurs doivent s'assurer que leur environnement local respecte des critères précis d'exécution, de plateforme et de gouvernance d'entreprise.
Environnements pris en charge et versions de référence de l'EDI
JetBrains AI Assistant est distribué sous la forme d'un plugin disponible pour l'ensemble de la gamme de produits JetBrains. Les EDI pris en charge requièrent des versions de référence spécifiques :
- EDIs commerciaux JetBrains : Compatible à partir de la version 2023.3 sur tous les EDI commerciaux, incluant IntelliJ IDEA Ultimate, PyCharm Professional, WebStorm, CLion, GoLand, Rider, PhpStorm, RubyMine, RustRover, DataGrip et DataSpell.
- EDIs Community Edition : Nécessite la version 2024.1.1 ou ultérieure pour les éditions open source Community (telles qu'IntelliJ IDEA Community Edition ou PyCharm Community Edition). Pour associer un abonnement d'entreprise JetBrains AI au sein des éditions Community, les équipes doivent utiliser la version 2024.2.1 ou une version plus récente.
- Support multiplateforme : Pris en charge sur les stations de travail 64 bits sous Windows, macOS (Intel et Apple Silicon) et Linux respectant la configuration système standard de l'EDI hôte.
Topologies de calcul : LLM dans le cloud vs matériel local
Par défaut, JetBrains AI Assistant exécute les inférences par le biais de grands modèles linguistiques hébergés dans le cloud et gérés par le service JetBrains AI ou par des fournisseurs d'API tiers. Dans cette configuration, les stations de travail des développeurs ne subissent qu'un impact négligeable sur le processeur, le GPU ou la batterie.
Cependant, les équipes utilisant des modèles aux poids ouverts auto-hébergés (comme Ollama ou des points de terminaison d'inférence privés compatibles OpenAI) doivent allouer des ressources de calcul dédiées sur la station de travail, notamment une VRAM dédiée suffisante (généralement de 8 Go à 24 Go selon la quantification des paramètres) pour assurer le streaming de tokens en temps réel.
Prérequis organisationnels
Pour les développeurs utilisant des licences d'EDI attribuées par un employeur ou un établissement d'enseignement, l'accès aux fonctionnalités d'IA est régi au niveau de l'organisation :
- Un administrateur de l'organisation doit activer le service JetBrains AI dans la console d'administration d'entreprise du JetBrains Account.
- Si l'organisation applique des politiques strictes de sécurité ou de gouvernance de la propriété intellectuelle, les administrateurs peuvent allouer des réserves de crédits partagés ou désigner des fournisseurs tiers agréés avant que les développeurs ne procèdent à l'activation.
Installation et activation de JetBrains AI Assistant
Le plugin JetBrains AI Assistant n'est pas activé par défaut sur les installations personnelles et n'accède à aucun code source propriétaire tant qu'il n'a pas été explicitement installé et activé.
Méthodes d'installation
Les développeurs peuvent installer le plugin via trois points d'accès principaux dans les EDI pris en charge :
- JetBrains Marketplace (Paramètres) :
- Ouvrez
Settings(sous Windows/Linux) ouPreferences(sous macOS) viaCtrl+Alt+SouCmd+,. - Sélectionnez
Pluginsdans la barre latérale gauche et choisissez l'ongletMarketplace. - Recherchez
AI Assistantdans le champ de recherche. - Cliquez sur
Installsur l'entrée officielle du plugin JetBrains et redémarrez l'EDI si vous y êtes invité.
- Ouvrez
- Fenêtre d'outils AI Chat :
- Cliquez sur l'icône
AI Chatdans le volet d'outils latéral droit. - Cliquez sur le bouton
Install Pluginaffiché dans la fenêtre vide pour déclencher l'installation en arrière-plan.
- Cliquez sur l'icône
- Widget d'en-tête de fenêtre JetBrains AI :
- Dans l'en-tête de la nouvelle interface de l'EDI, repérez le widget d'état
JetBrains AI. - Cliquez sur
Let's Gopour télécharger et initialiser automatiquement le plugin.
- Dans l'en-tête de la nouvelle interface de l'EDI, repérez le widget d'état
Niveaux de licence et scénarios d'activation
Une fois installé, les développeurs doivent activer le plugin à l'aide d'un modèle de licence adapté. JetBrains prend en charge plusieurs méthodes d'authentification selon les scénarios d'activation :
| Option d'activation | Abonnement requis | Fonctionnalités disponibles | Entité de facturation principale |
|---|---|---|---|
| Abonnement JetBrains AI | Oui (Free, Pro, Business, Ultimate, Enterprise) | Accès complet à tous les modèles cloud, agents intégrés, complétions en ligne et suggestions de modifications ultérieures | JetBrains (quota mensuel ou pool d'entreprise partagé) |
| Bring Your Own Key (BYOK) | Non (utilise une clé API tierce) | Complétion en ligne et fonctionnalités de chat prises en charge par les modèles tiers sélectionnés | Fournisseur tiers (OpenAI, Anthropic, Google Vertex AI) |
| Compte fournisseur (OAuth) | Non (connexion OAuth auprès du fournisseur) | Accès spécialisé restreint à l'agent authentifié (ex. : Claude Agent, GitHub Copilot) | Fournisseur dédié de l'agent |
| Agent compatible ACP | Non | Connexion à des agents externes personnalisés via le protocole Agent Client Protocol | Fournisseur indépendant de l'agent |
| Modèles locaux / personnalisés | Non | Fonctionnalités prises en charge par le serveur d'inférence exécuté localement (ex. : Ollama, vLLM) | Infrastructure auto-hébergée |
Détail des niveaux de licence
- AI Free : Offre un accès de base à des modèles cloud légers avec un quota mensuel limité de crédits IA, attribué automatiquement aux titulaires d'abonnements expirés ou aux utilisateurs du niveau gratuit.
- AI Pro : L'abonnement individuel standard offrant des quotas mensuels confortables, un routage prioritaire des modèles et la prise en charge des LLM de pointe (notamment GPT-4o, Claude 3.5 Sonnet et Gemini 1.5 Pro). Les détenteurs du pack JetBrains All Products ou de dotUltimate bénéficient souvent des privilèges AI Pro.
- Pro Trial : Une licence d'évaluation complète de 30 jours, automatiquement rattachée aux nouveaux comptes JetBrains Account lors de la première activation.
- AI Business / Enterprise : Conçu pour les équipes avec facturation centralisée, contrôle de l'allocation des utilisateurs, pools de crédits partagés et options de déploiements hybrides sur site via JetBrains AI Enterprise.
Consentement légal et acceptation des conditions
Lors de la procédure initiale d'activation, les développeurs doivent consulter et accepter les Conditions d'utilisation de JetBrains AI et la Politique d'utilisation acceptable. Ces dispositions stipulent formellement que le code source transmis pour inférence est traité de manière éphémère sans être conservé pour entraîner les modèles de base publics.
Configuration centrale de l'EDI et paramètres de comportement
Les options de configuration globale du plugin sont regroupées sous Settings | Tools | AI Assistant (ou Preferences | Tools | AI Assistant sous macOS). La consultation de la référence des paramètres permet aux développeurs d'adapter l'outil à leurs habitudes de codage.
Settings / Preferences
├── Tools
│ └── AI Assistant
│ ├── General Features (Name suggestions, pasted code, PR summaries)
│ ├── Providers & API keys (BYOK, OAuth, Model selection)
│ ├── Rules (Project-specific instructions)
│ ├── Prompt Library (Custom prompt templates)
│ ├── Skills (Debugger and runtime tools)
│ └── Agents (ACP agent registries)
└── Editor
└── General
└── Code Completion
└── Inline (Cloud completion, Next Edit Suggestions)
Options d'automatisation
Les développeurs peuvent activer ou désactiver certains mécanismes d'assistance pour éviter les suggestions intrusives :
- Provide AI-generated name suggestions : Suggère des identifiants de variables, fonctions et classes adaptés au contexte lors du refactoring de symboles en place (
Shift+F6). - Suggest converting pasted code to target file language : Détecte automatiquement l'insertion dans l'éditeur de code rédigé dans un autre langage (comme un extrait Python collé dans un fichier Java) et propose d'en traduire la syntaxe vers le langage cible.
- Generate a title for the shelved changelist : Analyse les différences pour générer automatiquement un titre descriptif et concis lors de la mise en réserve (shelve) silencieuse d'ensembles de modifications Git.
- GitHub Plugin: Generate PR summaries : Analyse les commits et les fichiers modifiés afin de rédiger des descriptions structurées de pull requests lors de leur création ou de leur revue depuis la fenêtre d'outils GitHub intégrée.
Personnalisation de la langue naturelle
Par défaut, AI Assistant répond dans la langue du système ou en anglais. Les équipes évoluant dans des contextes multilingues peuvent définir une langue naturelle préférée sous Settings | Tools | AI Assistant | Natural Language pour s'assurer que les explications, docstrings et messages de commit soient générés dans la langue de travail requise.
Seuil de tronquage des messages (Message Trimming Threshold)
Lors du travail sur des bases de code volumineuses, l'ajout de multiples fichiers sources peut rapidement saturer de larges fenêtres de contexte. Sous Settings | Tools | AI Assistant, les développeurs peuvent configurer le Message Trimming Threshold (exprimé en pourcentage de la fenêtre de contexte totale du modèle). Si une charge utile dépasse ce seuil, AI Assistant tronque automatiquement les structures externes secondaires tout en conservant les signatures de fonctions et les points d'appel pertinents, évitant ainsi les erreurs de dépassement de jetons.
Configuration de la complétion de code dans l'éditeur et de Next Edit Suggestions
Les EDI JetBrains intègrent une architecture à double moteur pour la complétion de code : complétion locale sur l'appareil et complétion distante dans le cloud.
Complétion locale Full Line vs complétion multiligne dans le cloud
Comprendre la distinction entre ces mécanismes est essentiel pour une configuration optimale :
- Complétion de code Full Line (Full Line Code Completion) : S'exécute intégralement en local sur la station de travail à l'aide de modèles de réseaux neuronaux compacts et dédiés à chaque langage, directement fournis avec l'EDI. Elle fonctionne hors ligne sans latence réseau, ne consomme aucun crédit IA et ne transmet aucun code à l'extérieur.
- Complétion de code dans le cloud (Cloud Code Completion) : Propulsée par les LLM cloud de l'AI Assistant. Elle génère des structures de code sur plusieurs lignes, des corps entiers de méthodes, une logique algorithmique et des commentaires de documentation associés en s'appuyant sur un contexte de fichier plus large.
Paramétrage de la complétion en ligne
Pour ajuster la complétion en ligne, rendez-vous dans Settings | Editor | General | Code Completion | Inline :
- Enable Cloud-Based Multi-Line Completions : Cochez cette option pour autoriser l'AI Assistant à afficher un texte fantôme grisé sur une ou plusieurs lignes pendant la saisie.
- Next Edit Suggestions (NES) : Lorsqu'elle est activée, l'AI Assistant analyse les modifications récentes et prédit les opérations suivantes, suggérant des ajustements complémentaires et permettant de naviguer directement vers les emplacements concernés (par exemple la mise à jour d'une implémentation d'interface après modification d'une signature de méthode).
- Trigger Delay (Debounce) : Configure le délai de pause requis avant de déclencher une requête de complétion dans le cloud. Les développeurs disposant d'une connexion à forte latence ou d'un réseau mobile limité peuvent augmenter ce délai pour réduire les appels API superflus.
Raccourcis clavier et commandes de validation
Les suggestions fantômes en ligne peuvent être acceptées ou rejetées à l'aide de raccourcis standard :
- Accepter toute la suggestion : Appuyez sur
Tab. - Accepter le mot suivant : Appuyez sur
Ctrl+Flèche droite(Windows/Linux) ouOption+Flèche droite(macOS) pour intégrer la proposition token par token. - Accepter la ligne suivante : Appuyez sur
Ctrl+Flèche basou le raccourci personnalisé assigné pour valider progressivement ligne par ligne. - Rejeter la suggestion : Appuyez sur
Escou poursuivez la saisie de caractères incompatibles. - Déclenchement manuel : Si les suggestions en ligne automatiques sont désactivées, déclenchez la complétion à la demande en appuyant sur
Alt+\(Windows/Linux) ouOption+\(macOS).
AI Chat, gestion du contexte et règles de projet
La fenêtre d'outils AI Chat fait office d'environnement interactif de programmation en binôme capable de raisonner à travers les fichiers, les traces de pile (stack traces) et l'historique du projet.
Référencement du contexte avec les mentions
Plutôt que de copier-coller manuellement des extraits de code source dans l'invite de discussion, les développeurs ont intérêt à fournir un contexte ciblé à l'aide de mentions préfixées par @ :
@file:chemin/vers/Fichier.java: Intègre le contenu d'un fichier de projet spécifique dans la charge utile du prompt.@symbol:NomClasse#nomMethode: Injecte la déclaration, les docstrings et l'implémentation d'une classe, d'une interface ou d'une fonction donnée.@folder:src/main/services: Transmet la structure des répertoires et les interfaces des modules.@commit:hash: Fournit les diffs et les métadonnées d'un commit Git pour les revues de code et l'analyse de régression.
Recherche dans la documentation officielle avec /docs
Les développeurs en quête d'aide sur l'EDI peuvent interroger directement la documentation de JetBrains depuis l'invite de chat grâce à la commande /docs. Par exemple, saisir :
/docs how do I configure remote Docker debugging for GoLand?
déclenche une requête RAG (génération augmentée par récupération) dans la documentation officielle des produits JetBrains, renvoyant des étapes opérationnelles accompagnées de liens profonds ouvrant directement les boîtes de dialogue de paramètres de l'EDI.
Bibliothèque de prompts personnalisée (Prompt Library)
Les équipes appliquent fréquemment des motifs architecturaux récurrents, tels que la création de classes de dépôt, la simulation de clients HTTP ou la migration d'anciens frameworks. Les développeurs peuvent standardiser ces requêtes sous Settings | Tools | AI Assistant | Prompt Library :
- Cliquez sur Ajouter (
+) pour créer un nouveau modèle de prompt personnalisé. - Définissez un titre descriptif (ex. :
Generate Spring Data JPA Repository). - Saisissez le texte du modèle en utilisant des espaces réservés dynamiques tels que
$SELECTIONpour désigner le code en surbrillance. - Associez le prompt aux menus contextuels de l'éditeur pour une exécution rapide en un clic.
Application des normes via les règles de projet (ai-rules.md)
Pour empêcher l'AI Assistant de générer du code contraire aux conventions du dépôt, les équipes peuvent définir des règles de projet persistantes dans Settings | Tools | AI Assistant | Rules ou en versionnant un fichier markdown à la racine du dépôt sous .jetbrains/ai-rules.md.
Un fichier de règles bien structuré guide efficacement l'assistant sur les frontières architecturales, les règles de style et les modèles de test :
# Project Architectural Guidelines
## Technology Stack
- Java 21 LTS with Spring Boot 3.3
- Build Tool: Gradle with Kotlin DSL
- Testing: JUnit 5, AssertJ, and Testcontainers (avoid Mockito for integration tests)
## Code Conventions
- Prefer immutable records for Data Transfer Objects (DTOs).
- Enforce explicit constructor injection; do not use field-level `@Autowired`.
- All public REST controllers must return `ResponseEntity<T>` with OpenAPI 3 annotations.
- Handle database operations asynchronously via R2DBC where reactive pipelines are present.
## Security Constraints
- Never log raw authorization tokens, customer personally identifiable information (PII), or passwords.
- Enforce parameter binding on all SQL and JPQL queries to prevent injection vulnerabilities.
L'AI Assistant charge .jetbrains/ai-rules.md et ajoute automatiquement ses contraintes à tous les prompts envoyés dans le dépôt, garantissant une conformité rigoureuse aux standards de l'équipe.
Agents de codage, ACP et Model Context Protocol (MCP)
Les versions récentes de JetBrains AI Assistant dépassent les simples suggestions passives pour proposer des flux de travail structurés autour d'agents autonomes.
Agents de codage autonomes
Sous Settings | Tools | AI Assistant | Agents, les développeurs peuvent configurer des agents spécialisés dans le développement :
- Junie : L'agent propriétaire de JetBrains conçu pour le refactoring multi-fichiers, la correction autonome de bugs et la génération de tests. Junie établit un plan d'action étape par étape, modifie les fichiers, exécute les commandes de terminal local ou les lanceurs de tests, puis soumet un diff unifié à la revue du développeur.
- Claude Agent et OpenAI Codex : Intégrations exploitant des comptes fournisseurs ou des clés API pour mener à bien des tâches de programmation de bout en bout.
- Agent Client Protocol (ACP) : Protocole standardisé permettant aux développeurs d'intégrer directement à l'EDI des agents sur mesure ou tiers sans nécessiter le développement de plugins spécifiques.
Intégration d'outils via Model Context Protocol (MCP)
Grâce aux outils MCP, l'AI Assistant peut interagir avec des environnements externes, des bases de données, des moteurs de conteneurs et des outils d'entreprise de gestion de tickets.
Pour préserver la sécurité, les développeurs doivent explicitement définir les permissions d'accès aux bases de données sous Settings | Tools | AI Assistant :
- Read database schemas : Autorise les agents MCP à inspecter les tables, types de colonnes et index afin d'élaborer des requêtes SQL appropriées.
- Modify database schemas : Détermine si les agents ont la permission de générer et d'exécuter des instructions DDL de migration (
CREATE,ALTER,DROP). - Read database data : Permet aux agents d'exécuter des requêtes et d'en analyser les résultats afin de déboguer les anomalies de données.
- Modify database data : Exige une validation explicite avant qu'un agent ne puisse exécuter des requêtes de modification telles que
INSERT,UPDATEouDELETE.
Fournisseurs tiers et modèles personnalisés (BYOK)
Les entreprises souhaitant centraliser leurs dépenses liées à l'IA ou s'appuyer sur des passerelles de modèles internes peuvent découpler l'AI Assistant des abonnements cloud gérés par JetBrains grâce à la configuration Bring Your Own Key.
Configuration des fournisseurs tiers
Accédez à Settings | Tools | AI Assistant | Providers & API keys :
- Cliquez sur
Add Provideret sélectionnez l'un des fournisseurs commerciaux supportés :- OpenAI : Nécessite une clé API de la plateforme OpenAI donnant accès à des modèles tels que
gpt-4oouo1. - Anthropic : Requiert une clé API Anthropic prenant en charge
claude-3-5-sonnetouclaude-3-opus. - Google Cloud Vertex AI : S'authentifie via les identifiants par défaut de l'application (ADC) ou des clés de compte de service.
- OpenAI : Nécessite une clé API de la plateforme OpenAI donnant accès à des modèles tels que
- Saisissez les identifiants et effectuez un test de latence de connexion.
- Attribuez les modèles aux rôles fonctionnels correspondants (par exemple, modèles véloces pour l'autocomplétion en ligne et modèles de raisonnement avancé pour l'AI Chat et le refactoring).
Connexion de points de terminaison locaux et personnalisés
Pour les environnements isolés (air-gapped) ou les centres de données privés, les développeurs peuvent configurer des modèles personnalisés :
+-------------------------------------------------------------+
| Local Workstation |
| |
| +------------------------+ +-----------------------+ |
| | JetBrains IDE | | Ollama Server | |
| | (AI Assistant Plugin) | ---> | (http://localhost: | |
| | | <--- | 11434/v1) | |
| +------------------------+ +-----------------------+ |
+-------------------------------------------------------------+
- Lancez un serveur d'inférence local exposant une API compatible OpenAI (tel qu'Ollama, vLLM ou LM Studio).
- Sous
Providers & API keys, ajoutez un fournisseur Custom OpenAI-Compatible. - Configurez l'URL de base (par exemple
http://localhost:11434/v1pour Ollama) et indiquez l'identifiant du modèle chargé (tel queqwen2.5-coder:32boudeepseek-coder-v2). - Vérifiez que la complétion locale s'affiche de manière fluide dans l'éditeur sans aucune transmission sortante vers le réseau étendu (WAN).
Gouvernance des données, confidentialité et contrôles d'entreprise
Le déploiement d'assistants de programmation IA dans un contexte professionnel impose des garanties strictes de confidentialité et d'auditabilité des données.
Transmission des données et périmètres d'entraînement des modèles
JetBrains formalise des règles rigoureuses de traitement des données au sein de sa documentation et de son Trust Center :
- Aucun entraînement des modèles de base : Le code source des clients, les charges utiles de contexte et les propositions générées ne sont jamais conservés ni exploités par JetBrains ou ses partenaires pour entraîner des modèles de fondation publics.
- Traitement éphémère (Ephemeral Processing) : Les invites acheminées par le service JetBrains AI ne sont conservées en mémoire vive que le temps nécessaire à l'inférence et à la conformité de journalisation, avant d'être supprimées.
- Partage de données sur adhésion volontaire (Opt-In) : Le paramètre
Send detailed code-related dataest désactivé par défaut. S'il est activé manuellement, les données de télémétrie sont entièrement anonymisées et exclusivement réservées à l'évaluation des performances des fonctionnalités de l'EDI JetBrains.
Pare-feu d'entreprise, proxys et inspection SSL
Les postes de travail fonctionnant au sein d'un périmètre d'entreprise doivent autoriser les flux sortants sécurisés :
- Points de terminaison de passerelle : Autorisez les connexions sortantes HTTPS (port 443) et WebSocket (WSS) vers
*.jetbrains.comet vers les points de terminaison des modèles tiers autorisés. - Inspection SSL d'entreprise : Si des équipements réseau d'entreprise déchiffrent le trafic TLS à l'aide d'autorités de certification (CA) internes, les développeurs doivent importer le certificat de l'autorité de certification interne dans le magasin de certificats de confiance de l'EDI hôte (
Settings | Tools | Server Certificates) afin d'éviter tout échec d'établissement de liaison TLS.
Suivi des quotas et options de désactivation
Le widget de statut JetBrains AI situé dans l'en-tête de fenêtre fournit une visibilité directe sur la consommation :
- Quota de l'abonnement : Suit le solde mensuel de crédits IA restants et indique la date de renouvellement mensuel.
- Crédits complémentaires (Top-Up Credits) : Permet aux développeurs individuels ou aux équipes de se procurer des volumes de crédits supplémentaires lorsque des flux d'agents intensifs épuisent le forfait de base.
- Gestion du pool partagé : Affiche la consommation dynamique des crédits en cas de connexion à un serveur de licences d'entreprise.
Si les développeurs souhaitent suspendre l'AI Assistant, différentes options sont envisageables : désactiver temporairement les fonctions pour un projet donné depuis le menu du widget, couper uniquement la complétion cloud tout en conservant la complétion locale Full Line, ou désinstaller définitivement le plugin de l'ensemble de l'EDI.