Affichage message sur console projet pour développement plugin eclipse

Affichage message sur console projet pour développement plugin eclipse - Java - Programmation

Marsh Posté le 14-04-2009 à 09:58:10    

Bonjour à tous,
 
Je développe un plugin sous eclipse, j'ai commencé comme tout le monde par le tutoriel hello world  :D  
Mais en fait ce que je voudrai faire après avoir lancé mon projet (qui représente le plugin que je développe) au lieu d'afficher le message hello world dans une boite de dialogue, c'est de l'afficher directement sur la console.
voici un petit exemple bête mais qui ne marche pas  :heink:  

Citation :

public void run(IAction action) {
     System.out.println("Generating StremC Code" );
}


 
quand j'utilise le template hello world la procédure contient par défaut ceci:

Citation :

public void run(IAction action) {
    MessageDialog.openInformation(window.getShell(),"MyProject Plug-in", "Hello world" );
}


 
Si quelqu'un pourra me dire ce qui ne vas pas je lui serai reconnaissant.
 
Merci d'avance.

Reply

Marsh Posté le 14-04-2009 à 09:58:10   

Reply

Marsh Posté le 14-04-2009 à 10:45:43    

de la même façon que tu as accès à MessageDialog, tu dois avoir accès à la console

 

http://help.eclipse.org/help33/ind [...] mmary.html non ?


Message édité par brisssou le 14-04-2009 à 10:47:28

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 14-04-2009 à 11:22:21    

Merci brissou, je suis en train de jeter un coup d'oeuil sur les méthodes de IConsole.


Message édité par vengaboys le 14-04-2009 à 11:25:50
Reply

Marsh Posté le 14-04-2009 à 11:56:58    

Sinon comment je pourrai rendre un projet java simple sous forme d'un plugin eclipse?

Reply

Marsh Posté le 14-04-2009 à 16:00:40    

Salut Brissou,
 
Si tu pourras me montrer un petit exemple ou bien de me montrer un lien vers un tuto ça sera symp. car vraiment je bloque.
 
merci.

Reply

Marsh Posté le 14-04-2009 à 16:02:17    

sur le PC du taf', j'ai une commande pour convertir un projet java en projet eclipse, mais je me demande si c'est pas apporté par topcase.  


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 14-04-2009 à 16:03:32    

sur le projet, clic droit -> convert projct to plugin project :D
 
c'est pas topcase :D


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 14-04-2009 à 16:07:49    

vengaboys a écrit :

Salut Brissou,
 
Si tu pourras me montrer un petit exemple ou bien de me montrer un lien vers un tuto ça sera symp. car vraiment je bloque.
 
merci.


 
j'y connais rien moi :)
 
je te dirige juste vers l'api parce que ça semble pertinent par rapport à ta question


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 15-04-2009 à 11:04:50    

Merci beaucoup Kadreg pour ta réponse, je l'ai convertit mais il ne se comporte toujours pas comme étant un plugin.
Je ne sais pas si t'as par hasard quelques tutos qui portent sur le développement des plugins, par ce que tous les tutos que j'ai trouvé sur le net parlent que de ce fameux Hello World.
 
Merci brissou pour ton effort, mais le fait de plonger directement sur l'API pour l'instant ne va m'apporter rien de plus, sans avoir compris la philosophie.
 
Si quelqu'un pourra me montrer juste comment afficher un simple hello world sur la console ça sera un bon départ pour le reste.
 
Merci à vous tous.

Reply

Marsh Posté le 15-04-2009 à 11:18:01    

Bon, tu es  pret à avoir peur  ?

 

Dans eclipse, il y a pas UNE console, mais un ConsoleManager, qui enregistre des consoles logiques pour chaque plugin. Et c'est ces consoles qui envoient ensuite les infos dans la fenetre console que tu vois, mais à laquelle tu n'auras jamais accès, sauf à faire des trucs très très sales :D

 

Dans ton plugin, il va donc falloir que tu instancie une MessageConsole (il y a d'autres types, mais celle là est pas mal pour débuter), et que tu envoie tes messages dans cette console :o

 

La premère chose est donc de créer une console et de l'enregistrer, ou del a récupérer si elle existe déjà :

 
Code :
  1. private MessageConsole findConsole(String name) {
  2.        ConsolePlugin plugin = ConsolePlugin.getDefault();
  3.        IConsoleManager conMan = plugin.getConsoleManager();
  4.        IConsole[] existing = conMan.getConsoles();
  5.        for (int i = 0; i < existing.length; i++)
  6.           if (name.equals(existing[i].getName()))
  7.              return (MessageConsole) existing[i];
  8.        //no console found, so create a new one
  9.        MessageConsole myConsole = new MessageConsole(name, null);
  10.        conMan.addConsoles(new IConsole[]{myConsole});
  11.        return myConsole;
  12.     }
 

Tu peux garder ton IConsole au chaud dans une variable de ton plugin si tu préfère :o

 

Ensuite, chaque fois que tu voudras écrire, il faut récupérer le Stream de ta console et faire des print dessus :

 
Code :
  1. MessageConsole myConsole = findConsole(IConsoleConstants.ID_CONSOLE_VIEW);
  2.     MessageConsoleStream out = myConsole.newMessageStream();
  3.     out.println("Salut les filles !!!" );
 

bienvenu dans le monde merveilleux d'eclipse  :D wiki eclipse roulaize :D http://wiki.eclipse.org/FAQ_How_do [...] lug-in_%3F

 

Sinon, quand tu dis que ton projet se comporte pas comme un plugin, qu'es-ce que tu entends par là :??:


Message édité par kadreg le 15-04-2009 à 11:18:24

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-04-2009 à 11:18:01   

Reply

Marsh Posté le 15-04-2009 à 11:55:19    

Merci beaucoup Kadreg, là je ne sais vraiment pas comment te remercier.
Merci pour tes explications et merci pour le lien :bounce:  
 
Au fait je voulais dire par "mon projet ne se comporte pas comme un plugin" : c'est que après l'avoir convertit en un plugin project, et que j'essaye de le l'exécuter comme une application eclipse "Run As" -> "Application eclipse", y rien qui se passe quoi. :pfff:  
 
Je sais que c'est du n'importe quoi, mais pour un débutant dans le développement des plugins ça passe  :sol:  
 
Là j'ai une dernière question -j'espère- : c'est que par exemple j'utilise la classe JFileChooser du package javax.swing. Est ce que je peux continuer à l'utiliser ou bien il faut que j'utilise une classe équivalente du framework equinox?
 
Merci encore :hello:  
 

Reply

Marsh Posté le 15-04-2009 à 12:05:23    

même pas une stacktrace dans la console ? ou une entrée dans l'errorLog ?  

 

Va voir dans les "Run configuration" comment est l'entrée correspondante, et si elle inclue bien les plugins qu'il faut :D

 

C'est mal de mélanger les trucs :D Regarde le org.eclipse.swt.widgets.FileDialog (c'est pas dans equinox, mais dans SWT :o Je viens de vérifier, il y a pas d'équivalent plus haut niveau dans jface)

 


Message édité par kadreg le 15-04-2009 à 12:08:52

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-04-2009 à 12:40:17    

Aucune stacktrace dans la console, dans l'ErrorLog j'ai quelques erreurs mais qui correspondent à un autre projet.
 
Là je vais prendre une petite semaine de vacances :;):, et à ma rentrée je vais appliquer ce que tu m'as montré.
 
Je te remercie beaucoup.
 
Bonne journée

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed