Méthode de debug des streams Java sur IntelliJ

Description de la méthode de debug des streams Java sur IntelliJ.
Philippe.jpg
Philippe AUBERTIN, Javaman aigriMis à jour le 25 Mai 2020
debug stream java intellij

Le debug des streams en Java

Ceux qui sont des vrais fans d’IntelliJ et qui suivent les mises à jour de très près le savent déjà... Il y a une nouvelle fonctionnalité qui manquait depuis très très longtemps et qui est arrivée : le débug des streams !

Parce qu’il faut bien se le dire, les streams ça a toujours été très compliqué à débugger. Jusqu’à maintenant, on utilisait par exemple des System.out pour essayer de voir ce qui clochait dans nos streams. Ca fonctionne, mais c’est vraiment pas le top.

Mais tout cela, c’est du passé ! Maintenant, vous avez la possibilité de debugger simplement vos streams via un bouton sur IntelliJ, et ça fonctionne plutôt bien !

IntelliJ : la fonction Debug Streams pour Java

La fonction Debug Streams est accessible sur Intellij via le bouton Stream Trace. 

debug-bouton.jpg

Lorsque vous cliquez dessus, une popup s’ouvre. Vous avez deux modes sont possibles : le split mode et le flat mode.

Le Split Mode

Le split mode permet de voir toutes les étapes du stream en détails. Vous avez d’ailleurs plusieurs onglets permettant de faire un focus sur ce qui vous intéresse : détails du stream ; skip ; limit et filter. 

debug-skip-mode.jpg

Il existe également un onglet forEach, qui ne fonctionne pas puisque c’est un opérateur terminal et que vous n’avez pas la possibilité de tester celà.

Le Flat Mode

Le flat mode permet d’avoir une vision d’ensemble et de voir exactement ce qui s’est passé dans votre stream. 

debug-flat-mode.jpg

La fonction Debug Streams pour Java sur IntelliJ : notre avis ?

La fonction Debug Streams pour Java est une des dernières features d’IntelliJ... et on trouve vraiment ça super pratique ! C’était vraiment une misère pour ceux qui utilisent des streams souvent comme moi, de pouvoir tester et débugger les streams. Maintenant, je n’irai pas jusqu’à dire que c’est un plaisir, mais presque :)