2010-05-25 8 views
0

Je travaille actuellement sur un plug-in pour Eclipse qui traduit du code Java personnalisé (qui ne s'exécute pas/compile pas nécessairement) en code Java exécutable. En particulier, le plug-in permet d'écrire du code en utilisant des classes créées ou importées lors de la traduction. En général, le code de pré-traduction s'exécute/compile correctement à condition que l'auteur utilise les instructions import en haut de leurs fichiers de classe. Cependant, il serait pratique pour mes utilisateurs s'il n'était pas nécessaire d'importer ces classes. À l'heure actuelle, l'absence d'instructions import entraîne des erreurs de compilation (évidentes). Serait-il possible d'autoriser mon plug-in soit a) supprimer/ignorer ces erreurs, soit b) Eclipse trouve-t-il ces classes automatiquement, sans utiliser les instructions import? Je devrais souligner que le code traduit inclurait les instructions requises import - mais ce n'est pas un problème pour moi. Je suis également conscient que cela pourrait conduire à des programmeurs paresseux et de mauvaises habitudes.Suppression des erreurs du compilateur Eclipse dans un plug-in

Pour clarifier, considérons l'exemple de code pré-traduit suivant: File f = new File("Somefilename.txt"); qui nécessite clairement la classe éventuellement importée File. Sans une instruction d'importation (import java.io.File;), Eclipse signale que File ne peut pas être résolu en un type. C'est l'erreur que j'aimerais cacher dans les fichiers relatifs aux projets créés pour être utilisés avec mon plug-in. En conclusion, je dois préciser que je ne cherche pas forcément du code (même si je ne m'y opposerais pas), mais plutôt des liens vers quelques tutoriels pertinents (s'ils existent), ou des conseils/idées utiles. De plus, comme c'est mon premier plug-in, il est tout à fait possible que ce que je veux faire ne soit pas possible et que je ne le réalise pas - si c'est le cas, faites le moi savoir, de préférence avec quelques justifications .

Merci!

Répondre

0

Vous pouvez bien sûr créer les importations par programmation en utilisant ICompilationUnit, mais si ce n'est pas une option, vous pouvez fournir un conteneur de chemin de classe personnalisé qui fournit les classes que vous insérez en utilisant le package par défaut ou le package cible . (De toute évidence, c'est une mesure très désespérée.)

+0

Je pense que je peux faire ce que je veux, ou quelque chose de similaire, avec l'ICompilationUnit. Merci! –

0

Vous pouvez également créer un éditeur personnalisé pour votre langage Java non compilateur, et votre plugin pourrait avoir un constructeur qui se traduit par la compilation de Java.

Questions connexes