Intellij Idea - Introduction

IntelliJ est l'un des environnements de développement intégré (IDE) les plus puissants et les plus populaires pour Java. Il est développé et maintenu parJetBrainset disponible en édition communautaire et ultime. Cet IDE riche en fonctionnalités permet un développement rapide et contribue à améliorer la qualité du code.

Qu'est-ce que l'IDE et ses avantages?

IDE signifie Integrated Development Environment. Il s'agit d'une combinaison de plusieurs outils, qui rendent le processus de développement logiciel plus facile, robuste et moins sujet aux erreurs. Il présente les avantages suivants par rapport à l'éditeur de texte brut:

  • Intégration avec des outils utiles tels que compilateur, débogueur, système de contrôle de version, outils de construction, divers frameworks, profileurs d'application, etc.

  • Prend en charge les fonctionnalités de navigation de code, de complétion de code, de refactorisation de code et de génération de code qui accélèrent le processus de développement.

  • Prend en charge les tests unitaires, les tests d'intégration et la couverture de code via des plug-ins.

  • Fournit un riche ensemble de plug-ins pour améliorer IDE fonctionnalité plus loin.

Caractéristiques d'IntelliJ

IntelliJ IDEA possède certaines des fonctionnalités de complétion de code Java les plus productives. Son algorithme prédictif peut supposer avec précision ce qu'un codeur tente de taper, et le complète pour lui, même s'il ne connaît pas le nom exact d'une classe, d'un membre ou de toute autre ressource en particulier.

Aperçu en profondeur

IntelliJ IDEA comprend vraiment et a une deep insight dans votre code, ainsi que dans le contexte du codeur, ce qui le rend si unique parmi les autres IDE Java.

  • Smart code completion- Il prend en charge la complétion de code basée sur le contexte. Il donne une liste des symboles les plus pertinents applicables dans le contexte actuel.

  • Chain code completion - Il s'agit d'une fonction de complétion de code avancée qui répertorie les symboles applicables accessibles via des méthodes ou des getters dans le contexte actuel.

  • Static member's completion - Il vous permet d'utiliser des méthodes statiques ou des constantes et ajoute automatiquement les instructions d'importation requises pour éviter les erreurs de compilation.

  • Detecting duplicates - Il trouve les fragments de code en double à la volée et donne une notification / suggestion à ce sujet à l'utilisateur.

  • Inspections and quick-fixes- Chaque fois qu'IntelliJ détecte que vous êtes sur le point de faire une erreur, une petite notification d'ampoule apparaît sur la même ligne. Cliquez dessus pour afficher la liste de suggestions.

Ergonomie du développeur

IntelliJ IDEA est conçu autour du principe de codage selon lequel les développeurs devraient être autorisés à écrire des codes avec le moins de distraction possible. C'est pourquoi dans ce cas, l'éditeur est la seule chose visible à l'écran, avec des raccourcis dédiés pour toutes les autres fonctions non liées au codage.

  • Editor-centric environment - Les fenêtres contextuelles rapides aident à vérifier des informations supplémentaires sans quitter le contexte actuel.

  • Shortcuts for everything - IntelliJ IDEA propose des raccourcis clavier pour presque tout, y compris la sélection rapide et la commutation entre les fenêtres d'outils et bien d'autres.

  • Inline debugger- Le débogueur en ligne vous permet de déboguer l'application dans l'IDE lui-même. Cela rend le processus de développement et de débogage transparent.

Outils de développement intégrés

Pour aider les développeurs à organiser leur flux de travail, IntelliJ IDEA leur offre un ensemble d'outils incroyable, qui comprend un décompilateur, le support Docker, une visionneuse de bytecode, FTP et de nombreux autres outils -

  • Version control - IntelliJ prend en charge la plupart des systèmes de contrôle de version populaires tels que Git, Subversion, Mercurial, CVS, Perforce et TFS.

  • Build tools - IntelliJ prend en charge Java et d'autres outils de construction tels que Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt et Gulp.

  • Test runner and code coverage- IntelliJ IDEA vous permet d'effectuer facilement des tests unitaires. L'EDI comprend des exécuteurs de test et des outils de couverture pour les principaux frameworks de test, notamment JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2 et Karma.

  • Decompiler- IntelliJ est livré avec un décompilateur intégré pour les classes Java. Lorsque vous souhaitez jeter un œil à l'intérieur d'une bibliothèque dont vous n'avez pas le code source, vous pouvez le faire sans utiliser de plug-ins tiers.

  • Terminal- IntelliJ fournit un terminal intégré. En fonction de votre plate-forme, vous pouvez travailler avec l'invite de ligne de commande, comme PowerShell ou Bash.

  • Database tools- IntelliJ fournit des outils de base de données, qui vous permettent de vous connecter à des bases de données en direct; exécuter des requêtes; parcourir et mettre à jour les données; et gérez même vos schémas dans une interface visuelle à partir de l'IDE lui-même.

  • Application server- IntelliJ prend en charge les principaux serveurs d'applications: Tomcat, JBoss, WebSphere, WebLogic, Glassfish et bien d'autres. Vous pouvez déployer vos artefacts sur des serveurs d'applications et déboguer les applications déployées dans l'EDI lui-même.

  • Docker support - Via un plug-in séparé, IntelliJ fournit une fenêtre d'outils dédiée qui vous permet de vous connecter aux machines Docker exécutées localement.

Comparaison entre Ultimate et Community Edition

L'édition ultime est conçue pour aider au développement Web et d'entreprise, tandis que l'édition communautaire est conçue pour le développement JVM et Android. Considérons quelques points importants qui nous aideront à comprendre la comparaison entre les deux éditions -

Fonctionnalité Edition ultime Edition communautaire
Licence Commercial Open-source, Apache 2.0. pour le développement commercial.
Java, Kotlin, Groovy, Scala Prise en charge Prise en charge
Développement Android Prise en charge Prise en charge
Maven, Gradle, SBT Prise en charge Prise en charge
Git, SVN, Mercurial, CVS Prise en charge Prise en charge
Détection des doublons Prise en charge Non supporté
Perforce, TFS Prise en charge Non supporté
JavaScript, TypeScript Prise en charge Non supporté
Java EE, Spring, GWT, Vaadin, Play, Grails, Autres Frameworks Prise en charge Non supporté
Outils de base de données, SQL Prise en charge Non supporté