2009-11-10 5 views
2

Je dois pouvoir double-cliquer sur un fichier sur le bureau et demander à Eclipse (ou plus précisément à Lotus Notes) de lancer mon action personnalisée, de la traiter et de l'afficher. J'ai trouvéAssocié DXL avec éclipse/notes et gestion du lancement

http://www.developer.com/java/other/article.php/3648736/Eclipse-Tip-Define-Custom-Content-Types-to-Identify-Your-Data-Files.htm

qui décrit comment configurer un type de contenu dans Eclipse et le lier à un éditeur. Ce n'est pas tout à fait ce dont j'ai besoin. Nous avons des e-mails stockés sous DXL (Domino XML), et même si je peux les ouvrir en interne (via mes fonctions personnalisées), je ne trouve pas d'informations sur la manière de les lancer en externe. J'espère que quelqu'un a déjà fait ça.

Répondre

1

Je havn't fait avant, mais ... avec l'aide de

EclipseEnvironmentInfo.getDefault().getCommandLineArgs() 

vous pouvez obtenir les arguments de ligne de commande Eclipse est commencé avec ("org.eclipse.core.runtime.internal. adaptor.EclipseEnvironmentInfo "est une classe interne mais vous pouvez y accéder de toute façon ... à vos risques et périls;)). Un test rapide montre que si vous démarrez un fichier avec eclipse, le dernier argument est le chemin d'accès à ce fichier.

Démarrage normal:

-os, win32, -WS, win32, -arch, x86, -product, org.eclipse.epp.package.rcp.product

Avec fichier:

-os, win32, -ws, win32, -arch, x86, -produit, org.eclipse.epp.package.rcp.produit, D: \ Program \ Eclipse3.5-RCP \ readme \ readme_eclipse.html

Vous pouvez étendre l'extens ion point "org.eclipse.ui.startup" et implémentez "org.eclipse.ui.IStartup" pour vérifier la ligne de commande Arguments et invoquer votre propre commande.

Heres ma classe de test:

import java.util.Arrays; 

import org.eclipse.core.runtime.IStatus; 
import org.eclipse.core.runtime.Status; 
import org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo; 
import org.eclipse.ui.IStartup; 

import test.Activator; 

public class Test implements IStartup { 

@Override 
public void earlyStartup() { 
    String message = "Arguments: " + Arrays.toString(EclipseEnvironmentInfo.getDefault().getCommandLineArgs()); 
    Activator.getDefault().getLog().log(new Status(IStatus.INFO, "Test", message)); 
} 

} 
+0

tas Merci pour cela. Je vais essayer lundi ... et bienvenue sur stackoverflow! –

Questions connexes