Skip to main content

Les 8 meilleurs plugins IntelliJ pour améliorer votre expérience de codage

Écrit par
Blog Design IntelliJ IDEA

26 août 2021

0 minutes de lecture

Pour beaucoup de développeurs, un bon IDE, c’est un peu comme un couteau suisse. Cet outil regroupe dans un seul programme toutes sortes de fonctionnalités dont vous avez besoin en tant que développeur. C’est pourquoi beaucoup de développeurs travaillent principalement dans leur IDE préféré, plutôt que d’ouvrir plusieurs outils dédiés à une seule tâche.

Le rapport sur l’écosystème JVM 2021, publié récemment, montre qu’IntelliJ IDEA est de loin l’IDE le plus utilisé dans l’écosystème Java. Il indique toutefois que plus de la moitié des développeurs utilisent plusieurs IDE sur leur système local. Vous pouvez donc enrichir votre IDE avec des extensions ou des plugins adaptés à vos besoins et améliorer son ergonomie. Dans cet article, nous vous présentons huit plugins de qualité professionnelle, disponibles gratuitement sur la marketplace, pour améliorer votre expérience de codage.

Les versions actuelles d’IntelliJ IDEA intègrent déjà de nombreux plugins, notamment Maven, Gradle, Lombok, Docker et bien d’autres. L’équipe de JetBrains propose également une multitude de plugins adaptés à des langages et des frameworks spécifiques. C’est l’une des raisons pour lesquelles ces plugins fonctionnent presque toujours parfaitement avec IntelliJ IDEA. Dans cet article, je vais toutefois me concentrer sur d’excellents plugins complémentaires, principalement développés par des tiers, qui apporteront un plus à vos activités quotidiennes.

1. Maven Helper

Dans l’écosystème Java, Maven reste le système de build le plus utilisé, tout en assurant la gestion des dépendances. Le plugin Maven Helper, développé par Vojtech Krassa, propose des outils simples pour parcourir vos dépendances, par exemple dans une arborescence, et repérer les conflits.

Analyseur de dépendances Maven d’IntelliJ IDEA affichant une arborescence des dépendances du projet, notamment Spring Boot et Lombok, avec un conflit SnakeYAML mis en évidence.

Vous pouvez également prédéfinir et combiner des objectifs Maven, puis les exécuter d’un clic ou depuis un menu contextuel. Cela inclut l’exécution des objectifs de plugins. Dans l’exemple ci-dessous, j’ai créé un objectif supplémentaire qui appelle l’objectif package et ignore les tests.

Menu Maven d’IntelliJ IDEA affichant les phases du cycle de vie, avec « package -DskipTests » en surbrillance

2. Rainbow Brackets

Ce plugin discret, simple et élégant peut vous faciliter considérablement la vie. Rainbow Brackets colore différemment les crochets et les parenthèses lorsqu’ils sont imbriqués. Il est ainsi beaucoup plus facile de repérer la fin d’une expression entre parenthèses, sans avoir à la survoler.

Il prend en charge de nombreux langages, comme Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language, C#, Dart, Pug/Jade, Bash et Vue.js.

Dans l’exemple Java ci-dessous, les parenthèses de différentes couleurs rendent la ligne avec String.format() beaucoup plus facile à lire. De plus, puisque le plugin prend en charge Clojure, c’est peut-être la solution miracle qui rendra sa syntaxe moins illisible pour nous autres, simples mortels.

Éditeur de code Java en thème sombre affichant une méthode de servlet userLink qui recherche des utilisateurs et écrit des noms d’utilisateur et des commentaires mis en forme dans une liste HTML.

3. Presentation Assistant

Une partie de mon travail consiste à faire des présentations, avec souvent des sessions de programmation en direct. Chaque fois que j’appelle une fonction à l’aide d’un raccourci clavier, le plugin Presentation Assistant affiche la fonction et la combinaison de touches utilisée dans une bulle. Le public peut ainsi très facilement suivre et reproduire ce que je fais.

De plus, si j’appelle une fonction avec la souris, le plugin affiche également un message avec le raccourci correspondant. Ainsi, chaque fois que j’utilise la souris pour appeler une fonctionnalité d’IntelliJ et qu’un raccourci existe, je le vois et l’apprends immédiatement.

Superposition verte affichant le raccourci clavier « Tout enregistrer via ⌘S (Ctrl+S sous Windows/Linux) »

4. RoboPOJOGenerator

De nos jours, connecter votre application à un point de terminaison REST est une tâche courante. Dans la plupart des cas, vous souhaitez transformer la sortie JSON du point de terminaison en objets dans votre application. Créer manuellement des objets pour de gros volumes de données JSON peut être fastidieux. Heureusement, le plugin RoboPOJOGenerator peut s’en charger. Il suffit de coller la sortie JSON dans le générateur et, si vous le souhaitez, de sélectionner les frameworks à utiliser. RoboPOJOGenerator crée les POJO (Plain Old Java Objects) avec les annotations correspondant aux frameworks que vous avez choisis pour Java et Kotlin. À mon avis, c’est un excellent plugin qui fait gagner du temps !

Interface de RoboPOJOGenerator affichant des données de vulnérabilité JSON, Java sélectionné, des options de framework et des paramètres de génération de code

5. Snyk Vulnerability Scanner

Le plugin Snyk Vulnerabilty Scanner vous aide à développer vos applications Java de manière plus sécurisée. Il analyse aussi bien vos dépendances tierces à la recherche de problèmes de sécurité connus que votre code personnalisé.

Pour vos dépendances open source, il vous propose des conseils de correction et vous indique une version du package qui ne présente pas la vulnérabilité. Si le package vulnérable est une dépendance transitive, le plugin vous indique la version de premier niveau à mettre à jour. S’il n’existe aucune dépendance de premier niveau corrigée, il vous précise si une mise à jour de la dépendance transitive peut résoudre le problème de sécurité et, le cas échéant, vers quelle version.

Pour votre code personnalisé, Snyk Vulnerabilty Scanner détecte les constructions de code vulnérables, comme les problèmes d’injection SQL, de script intersites (XSS) et de traversée de chemin. Le plugin vous montre où se trouve le problème dans votre code, le cheminement de la vulnérabilité et des solutions possibles, issues du code open source, pour vous aider à corriger le problème. C’est comme un correcteur orthographique pour votre code, qui vous évite les erreurs de sécurité.

Pour en savoir plus sur ce plugin, lisez l’article de blog : Comment corriger les problèmes de sécurité Java tout en codant dans IntelliJ IDEA

Scanner de sécurité IntelliJ affichant une vulnérabilité de script intersite (XSS), les détails du flux de données et une correction du code qui échappe les entrées HTML.

6. AsciiDoc

J’adore AsciiDoc. Bien qu’il rappelle Markdown, AsciiDoc est un format texte hautement configurable qui convient à la plupart des utilisateurs. Vous pouvez convertir AsciiDoc dans des formats comme PDF, EPUB, HTML et bien d’autres.

Le plugin AsciiDoc facilite la création et la modification de fichiers AsciiDoc dans mon éditeur, ainsi que leur prévisualisation. Je l’utilise notamment pour rédiger la documentation de mon code, que nous pouvons publier sous forme de page web HTML ou, si quelqu’un le préfère, de PDF.

Pouvoir faire tout cela directement dans mon IDE est un vrai atout. Avec plus de 2,1 millions de téléchargements, je ne suis pas le seul à apprécier cette excellente extension pour IntelliJ IDEA.

7. Randomness

Le plugin Randomness est un petit outil très pratique. La première fois que je l’ai découvert, je me suis honnêtement dit : « D’accord, ça a l’air intéressant, mais à quelle fréquence vais-je vraiment l’utiliser ? » En fait, je l’utilise bien plus souvent que je ne l’aurais cru. Cet outil génère des données aléatoires : des nombres, des chaînes de caractères, de vrais mots et des UUID. Il peut également créer des tableaux d’un type donné.

Comme je fais beaucoup de démonstrations, il est très pratique de pouvoir générer des données aléatoires ou une collection de données à l’aide d’un raccourci clavier. Je l’utilise aussi dans mes tests unitaires pour générer des données de test aléatoires. La sortie de ce plugin est entièrement configurable, ce qui vous permet de l’adapter à vos besoins.

Vous pouvez, par exemple, définir la taille d’un tableau, le jeu de caractères utilisé pour une chaîne aléatoire et la longueur d’un mot. Le seul changement important que j’ai fait est de demander au plugin de ne plus afficher les crochets [] autour d’un tableau, mais uniquement son contenu. Je peux ainsi facilement créer une List avec la méthode List.of() en Java, comme ci-dessous.

Éditeur de code à thème sombre affichant une méthode de test Java JUnit vide, annotée avec @Test et nommée myTest

8. SonarLint

Le plugin SonarLint est un excellent outil d’assurance qualité du code. Il vous aide à repérer les défauts de conception, les mauvaises pratiques et les bogues potentiels dans votre code. Par défaut, il applique des règles statiques reposant en grande partie sur un ensemble de règles PMD, FindBugs et Checkstyle. Son principal avantage : il vous fournit des informations en temps réel et s’intègre aux fonctionnalités Git d’IntelliJ. Avant de valider votre code, le plugin vous signale les problèmes éventuels.

Si vous utilisez SonarQube ou SonarCloud, vous pouvez les synchroniser avec votre installation locale de SonarLint afin que votre code soit vérifié selon le même ensemble de règles. Cela dit, SonarLint reste également un excellent outil pour tout développeur, même utilisé de façon autonome.

Panneau SonarLint dans IntelliJ présentant trois problèmes détectés dans un fichier Java, dont une suggestion d’utilisation de try-with-resources

Nous avons déjà parlé de Snyk Vulnerability Scanner. Comparé à SonarLint, je ne dirais pas qu’il fait double emploi. Au contraire, même si SonarLint peut détecter certains problèmes liés à la sécurité, ce n’est pas son objectif principal, et Snyk est bien plus performant dans ce domaine. À l’inverse, SonarLint est actuellement beaucoup plus efficace que le plugin Snyk pour détecter toutes sortes de bogues potentiels et de problèmes de style. Au final, j’utilise personnellement les deux plugins en même temps et je trouve qu’ils se complètent parfaitement.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.

Lire la suite

Blog

Les modèles de pointe ont trouvé les vulnérabilités. Seul l’attaquant a trouvé les chaînes d’exploitation.

L’analyse statique a détecté les failles, mais seuls des tests d’attaque en conditions réelles ont prouvé comment elles pouvaient être enchaînées pour provoquer des compromissions. Comparaison d’Evo COS, de Claude Security et de Claude Code Security.

feature insights context
Blog

Les attaques autonomes sont déjà là. La défense doit suivre leur rythme.

Les attaquants autonomes réduisent la fenêtre de défense. Découvrez comment la découverte, la correction, la validation et la prévention continues peuvent aider les équipes de sécurité à suivre le rythme.

Blog

Pourquoi les agents de codage IA créent-ils sans cesse des failles de contrôle d’accès ?

Les agents de codage IA peuvent générer une logique d’autorisation qui compile et passe la revue, tout en exposant les données d’un tenant à un autre. Découvrez pourquoi les failles de contrôle d’accès sont difficiles à détecter et comment les prévenir.