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 Platform Discussion :

Récupérer contenu de l'éditeur


Sujet :

Eclipse Platform

  1. #1
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut Récupérer contenu de l'éditeur
    Bonjour à tous,

    Dans le cadre du développement d'un plugin Eclipse, j'aurais voulu récupérer le contenu de l'éditeur (du fichier ouvert) afin d'y appliquer un traitement.

    Je suis vraiment une débutante dans le développement de plugin. Quelqu'un saurait-il m'indiquer comment faire ?

    Merci par avance de votre réponse.

  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,

    Il s'agit d'un éditeur spécifique ou de n'importe quel éditeur ouvert?
    La première solution est envisageable, la seconde, un peu moins...
    Récupérer l'éditeur courant n'est pas tellement compliqué. Si tu utilises une version d'Eclipse 4.X c'est immédiat avec les annotations, pour une version 3.X c'est un peu plus long:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Attention que les parties intermédiaires peuvent être nulles
    IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
    Si tu es dans un Handler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IEditorPart activeEditor = HandlerUtil.getActiveEditor(event);
    Ensuite, il te faut travailler sur l'input de l'éditeur, le IEditorInput. Et c'est là que ça devient plus compliqué parce qu'il te faut savoir à quel genre d'input tu as à faire...
    Exemple, pour JDT (plug-in Eclipse pour tout ce qui est Java), un éditeur affichant une classe aura un IEditorInput de type FileEditorInput ou IClassFile. Sans connaître ses types, ça me paraît difficile de récupérer leurs contenus...

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

  3. #3
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut
    Merci beaucoup de votre réponse.
    Je travaille sur la version KEPLER d'éclipse, donc les annotations seraient une solution ?

    J'ai bien écris :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();

    Mon plug-in va en fait traiter un langage naturel pour le formater sur une autre forme.
    C'est pour ça que je cherche à récupérer le contenu de l'éditeur et ensuite à le modifier.

    Je ne comprends pas comment travailler sur l'input.
    J'ai essayé certaines choses qui ne fonctionnent pas, pouvez-vous m'aider encore une fois ?

  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
    Et si tu répondais à ma question avant d'aller plus loin?
    Il s'agit d'un éditeur spécifique ou de n'importe quel éditeur ouvert?
    Est-ce que tu sais à quoi correspond un IEditorInput?
    Je te conseille de jeter un oeil sur cet article avant d'aller plus loin...

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

  5. #5
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut
    Il s'agit de n'importe quel éditeur.

    D'après ce que j'ai compris IEditorInput c'est un objet qui sert de modèle.
    Ce tuto est très bien fait mais je n'arrive pas a avancer malgré ça...

  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 unapologetic Voir le message
    Il s'agit de n'importe quel éditeur.
    Proprement, c'est pas "possible".
    Tu peux toujours "caster" le type de ton IEditorInput, mais tu ne pourras jamais être certain de capturer tous les types possibles d'IEditorInput.
    Quel est ton besoin? Que veux-tu faire du contenu de l'éditeur courant?
    Tu vas pouvoir prendre en compte certains types d'éditeurs, mais ça me semble hautement improbable de réussir à couvrir tous les cas...
    Tu auras certainement quelque chose dans ce goût là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
    IEditorInput input = activeEditor.getEditorInput();
    if (input instanceof IFileEditorInput) {
       ((IFileEditorInput) input).getFile();
    } else if (input instanceof IPathEditorInput) {
       ((IPathEditorInput) input).getPath();
    } else if (input instanceof IStorageEditorInput) {
       ((IStorageEditorInput) input).getStorage();
    }...
    Mais bon, avec ce genre d'approche, tu vas louper tous les éditeurs "customs" qui ne rentrent pas dans ces catégories là...
    Enfin, c'est à toi de voir...

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

  7. #7
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut
    Merci de cette réponse

    Alors la demande exacte est :
    "Faire un plugin éclipse qui formatera, directement dans l'éditeur, du texte en langage naturel en langage informatique"
    Je n'ai pas plus de précision
    Donc je cherche "juste" à lire le contenu de ma page ouverte dans l'éditeur, d'y apporter un traitement puis d'écraser le contenu par le nouveau.

  8. #8
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Pour moi vu l'énoncé on part du postulat qu'on a un fichier texte en langage naturel donc on peut penser que l'éditeur utilisé va être "basique", du type ITextEditor. On peut donc tenter de caster le "activeEditor" en ITextEditor qui donne accès, ô joie, à la méthode getDocumentProvider() qui nous permet de récupérer un objet IDocument :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ITextEditor textEditor = (ITextEditor) activeEditor;
    IDocument doc = textEditor.getDocumentProvider().getDocument(activeEditor.getEditorInput());

    L'objet IDocument retourné donne accès à tout un tas de méthodes pour lire ton contenu. Tu peux aussi y faire des recherches grâce au FindReplaceDocumentAdapter.
    Une fois le IDocument modifié, tu peux le sauvegarder via la méthode saveDocument du IDocumentProvider ou même (peut-être, à vérifier!) via la méthode "doSave" du ITextEditor.

    Moi c'est comme ça que je ferais
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  9. #9
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut
    Merci beaucoup !!!!
    Ça fonctionne
    J'aurai peut être' d'autres questions dans le même genre plus tard.

  10. #10
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Avec plaisir
    N'hésites pas si tu as de nouveau des questions.
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  11. #11
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2014
    Messages : 1
    Points : 2
    Points
    2
    Par défaut J'ai crée un plugin eclipse d'editeur de texte et je voudrai récupérer le contenu du texte pour effectuer
    bonjour,
    J'aimerais savoir ou mettre le code pour récupérer le contenu de l'éditeur mercii.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/06/2020, 12h44
  2. Récupérer le contenu d'un éditeur
    Par kespy13 dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 09/12/2013, 11h18
  3. Récupérer contenu d'une page HTML
    Par ArHacKnIdE dans le forum Langage
    Réponses: 9
    Dernier message: 07/11/2006, 08h56
  4. Récupérer contenu d'un fichier texte
    Par matt8-5 dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2006, 17h58
  5. [VBA-O]Récupérer contenu message
    Par Elstak dans le forum VBA Outlook
    Réponses: 14
    Dernier message: 17/08/2006, 09h34

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