Compilations

Les compilateurs créent ou modifient des ressources de l'espace de travail, généralement en fonction de l'existence et de l'état d'autres ressources. Il s'agit de puissants mécanismes qui permettent de mettre en oeuvre les contraintes de certaines domaines. Par exemple, un compilateur Java convertit des fichiers source Java (fichiers .java) en fichiers de classe exécutables (fichiers .class), un compilateur de liens Web met à jour les liens vers des fichiers dont le nom/emplacement a changé, etc. A mesure que des ressources sont créées et modifiées, des compilateurs sont exécutés et les contraintes sont préservées. Cette conversion n'a pas à s'effectuer sur le principe un à un. Par exemple, un fichier .java peut générer plusieurs fichiers .class. 

Génération automatique et génération manuelle

Il existe deux modes de générations distincts : la génération automatique et la génération à l'initiative de l'utilisateur.

Si vous n'avez pas besoin de contrôler au plus près le déroulement des générations peuvent tout simplement activer la génération automatique. Dans ce mode, les générations s'effectuent après chaque série de modifications de ressources (par exemple, sauvegarde d'un fichier, importation d'un ZIP, ...). La génération automatique est efficace car la quantité de travail effectuée est proportionnelle à la quantité de modifications entrées.  La génération automatique présente l'avantage d'avoir toujours des ressources dérivées (par exemple, les fichiers .class Java) à jour. La génération automatique est activée/désactivée via l'option Générer automatiquement dans la page des préférences Général > Espace de travail.

Si vous souhaitez contrôler davantage le moment d'exécution des générations, vous pouvez désactiver la génération automatique et appeler manuellement les générations. Ce mode de fonctionnement est préférable lorsque, par exemple, vous savez pertinemment qu'une génération n'a aucun intérêt tant que vous n'avez pas effectué un nombre suffisamment important de modifications. Dans ce cas, les frais de générations automatiques prématurées sont superflus. Vous pouvez lancer des générations manuelles de différentes manières, par exemple en sélectionnant Générer un projet dans le menu contextuel du projet.

L'inconvénient de la génération manuelle réside dans le fait que les incidents générés pour indiquer des erreurs se périment rapidement jusqu'à ce que vous compiliez. De plus, vous ne devez pas oublier d'effectuer une génération manuelle avant de vous fier aux résultats de génération (par exemple, avant d'exécuter le programme Java).

Génération et nettoyage

Les générations s'effectuent de manière incrémentielle en fonction de l'état de génération antérieur. Elles appliqueront les conversions des compilateurs configurés uniquement aux ressources qui ont été modifiées depuis le calcul de l'état précédent (c'est-à-dire depuis la dernière génération). La génération automatique utilise toujours une génération incrémentielle pour plus d'efficacité.

Une génération de nettoyage (Projet > Nettoyer) élimine tout état de génération existant. La génération postérieure à un nettoyage convertira toutes les ressources en fonction des règles de domaine des compilateurs configurés.

En fonction de vos besoins, la génération et le nettoyage peuvent être effectués sur un ensemble spécifique de projets ou sur l'intégralité de l'espace de travail. Des fichiers et des dossiers spécifiques peuvent être compilés séparément.