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 !

Le terminal des EDI JetBrains fonctionne désormais avec libghostty, prennant en charge l'analyse syntaxique et l'état du terminal dans les EDI, tandis que l'EDI continue de gérer le rendu

Le , par Jade Emy

0PARTAGES

4  0 
JetBrains est une société à responsabilité limitée internationale spécialisée dans le développement de logiciels, qui conçoit des outils destinés aux développeurs et aux chefs de projet. L'entreprise a son siège social à Amsterdam et dispose de bureaux en Chine, en Europe et aux États-Unis. JetBrains propose divers environnements de développement intégrés (EDI), tels que IntelliJ IDEA, PyCharm, WebStorm et CLion. Elle a également créé en 2011 le langage de programmation Kotlin, qui peut s'exécuter dans une machine virtuelle Java (JVM).

Une part croissante de votre travail en terminal s’effectue désormais via des outils qui sollicitent davantage le terminal qu’une simple invite de commande ne l’a jamais fait : des agents de codage basés sur l’IA comme Claude Code et Codex, des applications en plein écran comme Neovim et tmux, ainsi que des outils de surveillance du système et des tableaux de bord. Ces outils s’appuient sur des protocoles de terminal modernes, ceux-là mêmes sur lesquels reposent les meilleurs terminaux autonomes actuels.

À partir de la version 2026.3, le terminal intégré aux EDI JetBrains parle ce même langage. Il fonctionne désormais avec libghostty, la bibliothèque d’émulation de terminal qui alimente Ghostty lui-même. libghostty est une bibliothèque multiplateforme en C et Zig, sans aucune dépendance, permettant de développer des émulateurs de terminal ou d'exploiter des fonctionnalités de terminal (telles que l'analyse syntaxique des styles). De nombreux projets intègrent déjà libghostty, et celle-ci est largement considérée comme une bibliothèque fiable et performante.

Dans les EDI, libghostty remplace JediTerm, l’émulateur de terminal sur lequel JetBrains utilise depuis de nombreuses années. Les applications TUI s’appuient de plus en plus sur des protocoles modernes que JediTerm n’a jamais pris en charge. Cette lacune ressemblait davantage à un inconvénient mineur, car l’expérience n’était pas tout à fait à la hauteur de celle offerte par d’autres terminaux, mais elle n’était pas suffisamment gênante pour justifier un rapport de bogue. Désormais, libghostty prend en charge l’analyse syntaxique et l’état du terminal dans les EDI JetBrains, tandis que l’EDI continue de gérer le rendu, ainsi que les fonctionnalités de haut niveau et les intégrations.

Voici ce que ces changements impliquent concrètement.

Les instructions génératives multilignes et les raccourcis clavier fonctionnent comme indiqué dans la documentation

Grâce à la prise en charge du protocole clavier Kitty, les applications de terminal peuvent désormais faire la distinction entre les combinaisons Entrée, Maj+Entrée et Ctrl+Entrée, et peuvent demander des événements de relâchement de touche et de répétition. Les agents IA en ligne de commande tels que Claude Code, Codex et Pi, ainsi que le shell fish et des applications comme Neovim, utilisent tous ce protocole. Le terminal prend également en charge la fonction `modifyOtherKeys` de xterm, un protocole de clavier plus ancien utilisé par Vim.

Concrètement, cela signifie que Maj+Entrée commence une nouvelle ligne dans votre invite au lieu d’envoyer un message à moitié rédigé, et que les raccourcis combinant les touches Ctrl, Maj ou Alt avec d’autres touches parviennent intacts à l’application. Les éditeurs et outils basés sur le terminal réagissent comme ils le devraient, sans qu’il soit nécessaire de modifier les paramètres de l’EDI. L’ancien paramètre qui envoyait Esc+CR lors de la combinaison Shift+Entrée n’est plus nécessaire et est ignoré.

Vos outils s’adaptent au thème de votre EDI

Auparavant, le passage de l’EDI en mode sombre semait la confusion chez les applications du terminal, et vous vous retrouviez avec du texte sombre sur un fond sombre ou une palette de couleurs claires au sein d’un EDI sombre, à moins de configurer manuellement chaque outil.

Désormais, le terminal répond à la requête de mode sombre/clair (CSI ? 996 n) issue du thème actuel de l’EDI et envoie une notification via le mode 2031 lorsque vous changez de mode. Claude Code, OpenCode, Pi, Neovim et tmux sont abonnés à ces notifications de changement de thème, de sorte que la plupart d’entre eux basculent automatiquement en même temps que l’IDE.

Le terminal répond également aux requêtes de palette OSC 4 et à la requête de couleur Kitty OSC 21, en plus des requêtes OSC 10/11 déjà gérées par JediTerm. OpenCode et Pi lisent la palette, tandis que Junie CLI demande si le terminal est en mode sombre ou clair. Les programmes peuvent désormais définir les couleurs de la palette étendue de 16 à 255 via OSC 4, tandis que les couleurs de 0 à 15 restent sous le contrôle du thème de l’EDI.

Les applications de terminal à sortie riche s’affichent désormais mieux

La qualité des agents IA, des moniteurs système, des gestionnaires de fichiers et des tableaux de bord dépend de celle du terminal qui les affiche. Le nouveau moteur gère près de 50 séquences de contrôle que JediTerm ignorait ou interprétait incorrectement. En voici quelques-unes que vous avez peut-être rencontrées :

- REP (CSI Ps b) : ncurses l’utilise pour les séries de 7 caractères identiques ou plus, ce qui entraînait auparavant l’affichage de certaines lignes avec des caractères manquants.

- Couleurs SGR séparées par des deux-points (38:2::r:g:b) : JediTerm affichait les deux-points et fusionnait les chiffres dans le mauvais attribut.

- Chaînes APC, SOS et PM inconnues : JediTerm les affichait sous forme de texte. Elles sont désormais ignorées sans message d’erreur.

Sont également pris en charge : les marges gauche/droite (DECSLRM), les zones protégées, le contrôle des tabulations, le mode insertion, XTSAVE/XTRESTORE, la séquence de défilement et d’effacement Kitty CSI 22 J, ainsi que la gestion de la souris X10. Le mode de clignotement du curseur (?12) est désormais respecté ; auparavant, le curseur clignotait systématiquement.

En résumé : les lignes, les bordures et les séparateurs ne s’affichent plus de manière incorrecte, l’affichage en couleur ne présente plus de deux-points parasites ni de couleurs erronées, et les codes invisibles résiduels n’apparaissent plus sous forme de texte indéchiffrable.

Et ce n’est qu’un début

La bibliothèque libghostty analyse déjà de nombreuses séquences que l’EDI ne prend pas encore en charge : le presse-papiers OSC 52, les notifications sur le bureau (OSC 9/777), les barres de progression ConEmu, les graphiques Kitty, ainsi que les soulignements stylisés et colorés. L’analyse n’est plus le goulot d’étranglement. Il ne reste plus que le côté EDI à traiter ; attendez-vous donc à ce que ces fonctionnalités arrivent plus rapidement qu’avec JediTerm.

Concrètement, ces bases couvrent des fonctionnalités que vous connaissez peut-être déjà dans les terminaux autonomes : copier dans votre presse-papiers à partir d’un programme s’exécutant sur un serveur distant, être averti lorsque l’application dans le terminal termine une tâche (par exemple, lorsque Claude a fini de traiter une invite et attend votre réponse), voir une barre de progression pour les tâches longues, et afficher des images directement dans le terminal.

Le moteur basé sur libghostty est déjà activé par défaut dans le terminal remanié des versions EAP 2026.3 des EDI JetBrains, et il le restera tout au long des versions bêta et des versions candidates, ainsi que dans la version stable. En cas de problème, vous pouvez revenir à JediTerm : allez dans Aide | Rechercher une action, ouvrez « Registre… », puis désactivez terminal.use.ghostty.emulator.

En savoir plus sur les EDI JetBrains
Vous avez lu gratuitement 8 577 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

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