IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

Redirection de la Console Eclipse vers la console de mon plugin


Sujet :

Eclipse Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2012
    Messages : 25
    Points : 15
    Points
    15
    Par défaut Redirection de la Console Eclipse vers la console de mon plugin
    Bonjour,

    Étant novice en développement de Plug-in Eclipse, je suis en ce moment confronté à un problème.

    J'ai récemment développé mon propre plug-in dans lequel j'ai pu ajouter la vue Console qui est identique à la vue Console de Eclipse même.
    A présent, je souhaiterais pouvoir éditer la vue Console de mon plug-in, c'est à dire que quand je fais un affichage (genre println), le résultat soit visible sous ma propre console.

    Le problème est que la redirection ne fonctionne pas.
    Quant à la Console même d'Eclipse, il n'y pas pas de problème...

    Quelqu'un saurait-il m'indiquer comment faire ?

    Merci d'avance

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Pourquoi créer une console particulière si c'est pour reprendre ce qu'affiche la console normale?
    Comment as-tu créer cette console?

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2012
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Salut,

    Oui c'est vrai que la question de savoir pourquoi créer une console alors que celle d'Eclipse est là pour faire le travail peut se poser. Mais bon, dans l'application qu'on m'a demandé de faire, ils ont besoin d'une vue pour pouvoir visualiser les différentes commandes qu'un utilisateur pourra lancer.

    Par contre pour la faire voici comment j'ai procédé:
    1. dans le Manifest, dans l'onglet Extensions, j'ai ajouté un point d'extension (org.eclipse.ui.prespectiveExtensions)
    2. Clic droit sur l'extension. New -> persperctiveExtension
    3. Dans cette perspective, New -> View.
    4. Ensuite j'ai mis comme identifiant de la nouvelle vue créée "org.eclipse.ui.console.ConsoleView".

    J'espère avoir répondu à tes questions.

    @+

  4. #4
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Citation Envoyé par drseuss Voir le message
    ils ont besoin d'une vue pour pouvoir visualiser les différentes commandes qu'un utilisateur pourra lancer.
    Ton plug-in va donc permettre de lancer des commandes, ou c'est n'importe quelles commandes lancées sur la machine?
    Citation Envoyé par drseuss Voir le message
    Par contre pour la faire voici comment j'ai procédé:
    1. dans le Manifest, dans l'onglet Extensions, j'ai ajouté un point d'extension (org.eclipse.ui.prespectiveExtensions)
    2. Clic droit sur l'extension. New -> persperctiveExtension
    3. Dans cette perspective, New -> View.
    4. Ensuite j'ai mis comme identifiant de la nouvelle vue créée "org.eclipse.ui.console.ConsoleView".
    Là, t'as pas créé de vue. Tu te contentes de dire que ta perspective va afficher la console à un endroit défini.
    Pas de questions technique par MP, les forums sont là pour ça.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2012
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Ton plug-in va donc permettre de lancer des commandes, ou c'est n'importe quelles commandes lancées sur la machine?.

    c'est une commande bien précise d'une application déjà faite...

    Là, t'as pas créé de vue. Tu te contentes de dire que ta perspective va afficher la console à un endroit défini.
    oui et normalement elle doit etre connecter à la même console qu'eclipse.

  6. #6
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Citation Envoyé par drseuss Voir le message
    c'est une commande bien précise d'une application déjà faite...
    Comment l'utilisateur va lancer cette commande? Dans un shell, dans Eclipse, à partir d'un exécutable?
    Citation Envoyé par drseuss Voir le message
    oui et normalement elle doit etre connecter à la même console qu'eclipse.
    C'est la même console, c'est pas une console différente là. Elle n'est pas connectée à celle d'Eclipse, c'est celle d'Eclipse !
    Pas de questions technique par MP, les forums sont là pour ça.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2012
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Comment l'utilisateur va lancer cette commande? Dans un shell, dans Eclipse, à partir d'un exécutable?!
    non je lance la commande à partir d'un bouton. bon voilà je t'explique ce que j'ai fait. j'ai creer une vue (myview) dans laquelle j'ai ajouter des composants SWT à savoir label, champs de texte, boutons etc...

    j'ai un bouton qui permet de choisir le fichier (d'une extension donnée) ensuite un autre par exemple pour lancer le fichier selectionner. ensuite sur le bouton je fais appel à l'application grace au "Process". jusque là c'est bon il m'affiche bien le résultat de la commande dans la console eclipse. mais pas dans mon plug-in ce que je ne comprends pas.

    C'est la même console, c'est pas une console différente là. Elle n'est pas connectée à celle d'Eclipse, c'est celle d'Eclipse !
    vu que c'est la console d'eclipse pourquoi il m'affiche rien ....

  8. #8
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Pour écrire dans la console, il te faut rajouter une dépendance vers le plug-in org.eclipse.ui.console et ensuite, faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    // Création d'un process pour lancer un jar de test:
    ProcessBuilder pb = new ProcessBuilder("cmd", "/C", "java", "-jar", "D:/test.jar");
    Process start = null;
    try
    {
    	// Lancement du process.
    	start = pb.start();
    	// Récupération du flux de sortie du process:
    	final InputStream inputStream = start.getInputStream();
    	Display.getDefault().syncExec(new Runnable() {
    		public void run()
    		{
    			BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    			String id = IConsoleConstants.ID_CONSOLE_VIEW;
    			String line;
    			try
    			{
    				IWorkbenchWindow activeWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    				if (activeWindow != null)
    				{
    					IWorkbenchPage activePage = activeWindow.getActivePage();
    					if (activePage != null)
    					{
    						// Récupération  / affichage de la vue Console:
    						IConsoleView view = (IConsoleView) activePage.showView(id);
    						MessageConsole console = (MessageConsole) view.getConsole();
    						MessageConsoleStream messageStream = console.newMessageStream();
    						while ((line = reader.readLine()) != null)
    						{
    							messageStream.println(line);
    						}
    					}
    				}
    			} catch (IOException e)
    			{
    				e.printStackTrace();
    			} catch (PartInitException e)
    			{
    				e.printStackTrace();
    			}
    		}
    	});
    } catch (IOException e)
    {
    	e.printStackTrace();
    } finally
    {
    	if (start != null)
    	{
    		try
    		{
    			// Fermeture des flux du process:
    			start.getErrorStream().close();
    			start.getInputStream().close();
    			start.getOutputStream().close();
    		} catch (IOException e)
    		{
    			e.printStackTrace();
    		}
    	}
    }
    Après, il te faut gérer les exceptions correctement...

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2012
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    salut,
    pour la dependance je l'avais fait déjà ;p
    en ce qui concerne le code je l'ajoute où? sur le bouton qui lancera la commande?? bon je vais essayer comme ca en attendant...

    merci

  10. #10
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    A priori, je dirai qu'il faut que tu l'ajoutes là où tu lances ton programme
    Pas de questions technique par MP, les forums sont là pour ça.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2012
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    bon ca y est ca marche maintenant je me suis inspiré du code que tu m'a filé pour pouvoir ecouter les entrées sorties et je suis tombé sur ca

    http://code.google.com/p/pathtools/s...cher.java?r=57

    en tout cas merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bug de la console Eclipse lors du lancement de mon programme
    Par Vincibabe dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/03/2015, 19h29
  2. Redirection de log tomcat de la console eclipse vers un fichier
    Par Esil2008 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 04/07/2009, 09h10
  3. Redirection de log de la console Eclipse vers un fichier
    Par Esil2008 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/07/2009, 17h05
  4. Réponses: 0
    Dernier message: 01/07/2009, 16h50
  5. [Eclipse 3.1][Plugin] Rediriger sortie vers la console
    Par petitpepito dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 18/01/2006, 23h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo