Intellij Idea - Approfondissement

Les quatre premiers chapitres de ce didacticiel ont été conçus pour donner aux débutants un aperçu de base d'IntelliJ. Cette section plonge profondément dans IntelliJ et discute davantage des projets, de son format ainsi que d'autres choses.

Comprendre les projets

Un projet est une application ou un logiciel sur lequel vous travaillez. Il peut contenir plusieurs modules, classes, bibliothèques, configurations, etc. C'est l'élément le plus élevé de la hiérarchie.

Comprendre les modules

Les modules comportent un échelon sous «Projet». Un module est une entité distincte qui peut être compilée, déboguée et exécutée indépendamment des autres modules. Un même projet peut contenir plusieurs modules. Vous pouvez ajouter ou supprimer des modules d'un projet à tout moment.

En plus de cela, nous pouvons également importer les modules existants. Suivez ces étapes pour importer les modules existants -

  • Allez dans Fichier → Structure du projet.
  • Sélectionnez les modules et cliquez sur l'icône plus.
  • Il affichera l'option d'importation du module.

Comprendre les dossiers

Content rootest un dossier qui contient tous les fichiers qui composent votre module. Un module peut avoir plus d'un dossier de contenu. Les dossiers sont classés dans les types suivants -

  • Sources - En attribuant cette catégorie au dossier, nous indiquons à IntelliJ que celui-ci et son sous-dossier contiennent le code source java et qu'il doit être compilé dans le cadre du processus de compilation.

  • Tests- En attribuant cette catégorie au dossier, nous indiquons à IntelliJ qu'il s'agit de l'emplacement des tests unitaires. Ce dossier peut accéder aux classes à partir du dossier Sources.

  • Resources- Il représente divers fichiers de ressources utilisés dans le projet, par exemple, des images, XML et des fichiers de propriétés. Pendant le processus de compilation, le contenu de ce dossier est copié tel quel dans le dossier de sortie.

  • Excluded- Le contenu du dossier exclu ne sera pas indexé par IntelliJ. Cela signifie qu'IntelliJ ne fournira pas la suggestion de complétion de code ni d'autres conseils. Par exemple, le répertoire de sortie et le répertoire cible sont exclus par défaut.

  • Test resources - Ceci est similaire aux ressources et utilisé pour les tests unitaires.

Comprendre les bibliothèques

Library est une compilation de différentes classes. La bibliothèque permet la réutilisation du code. En Java, la bibliothèque peut être incluse dans ZIP, Jar ou simplement dans un dossier. Nous pouvons définir des bibliothèques à trois niveaux différents. Les niveaux sont: niveau global, projet et module.

  • Global level - Partagé par tous les projets.

  • Project level - Partagé par tous les modules du projet.

  • Module level - Partagé par les classes de ces modules.

Comprendre les facettes

Les facettes sont les extensions des modules. Ils ajoutent un support aux cadres et aux technologies. Lorsqu'une facette est ajoutée à un module, IntelliJ identifie qu'elle ajoute la prise en charge. Par exemple, des astuces et de l'aide dans l'éditeur, de nouveaux outils dans la barre de fenêtre, le téléchargement de dépendances, etc. Vous pouvez ajouter des facettes à partir duFile → Project Structure fenêtre comme indiqué ci-dessous -

Artefacts

Les artefacts sont le résultat d'un projet. Il peut s'agir d'un simple fichier JAR, d'une application Java EE ou d'une application Java EJB. Si nous utilisons des outils de construction externes tels que Gradle ou Maven, IntelliJ ajoutera automatiquement un artefact pour eux. Les artefacts peuvent être créés en accédant auFile → Project Structure comme indiqué ci-dessous -

Importer un projet existant

Dans cette section, nous allons comprendre comment importer un projet existant. Nous pouvons importer un projet de deux manières -

  • Importez-le à partir d'une source existante
  • Importez-le à partir du modèle de construction.

À l'heure actuelle, il prend en charge les outils de construction Gradle et Maven. Pour importer un projet -

  • Accédez à Fichier → Nouveau → Projet à partir de la source existante.
  • Sélectionnez le répertoire du projet existant, le pom.xml de Maven ou le script de construction de Gradle.
  • Cliquez sur le bouton OK.

Formats de projet

IntelliJ prend en charge deux types de format de projet, l'un est directory-based et l'autre est file-based. Le format basé sur un répertoire est plus récent, il est recommandé. Par défaut, IntelliJ crée un format de projet basé sur un répertoire. Vous pouvez sélectionner le format du projet lors de la création d'un nouveau projet. Sur la nouvelle fenêtre du projet, cliquez simplement sur plus de paramètres comme indiqué dans l'image ci-dessous -

Format de projet basé sur un répertoire

Ce format permet de créer un dossier d'idées dans votre projet et de conserver tous les fichiers de configuration dans ce dossier. Les paramètres sont regroupés dans les fichiers xml. Par exemple, cela créeramisc.xml, modules.xml, workspace.xmletc. La capture d'écran suivante vous aidera à comprendre comment cela fonctionne -

Format de projet basé sur un fichier

Il créera deux fichiers de projet avec ..ipr et wprextensions. Le fichier ipr contiendra des paramètres spécifiques au projet et le fichier wpr contiendra des paramètres spécifiques à l'espace de travail.

Pour convertir un projet basé sur un fichier en un projet basé sur un répertoire, accédez au File → Save as a Directory-Based format.

Format de projet basé sur un répertoire ou sur un fichier

Par rapport au format de projet basé sur un fichier, le format de projet basé sur un répertoire stocke les paramètres dans un dossier séparé avec des noms significatifs. Les autres différences sont -

  • Les paramètres associés stockés dans un fichier unique facilitent la gestion au format de projet basé sur un répertoire.

  • Si le dossier contient le sous-dossier d'idées, IntelliJ reconnaît ce projet. Pour cette raison, vous n'avez pas sélectionné le projet ipr explicitement.

  • Le format de projet basé sur un répertoire divise les paramètres en plusieurs fichiers, il est donc plus facile de sélectionner un type particulier de paramètre à stocker dans le système de contrôle de version.