2013-02-26 3 views
3

Je suis en train de développer un module plugin pour Netbeans en utilisant l'API fournie afin de fournir un support pour un nouveau langage de programmation.API Netbeans: Comment enregistrer un fichier ou tous les fichiers du projet en cours?

J'ai créé un menu Action dans le menu contextuel, en utilisant le type MIME défini dans un type de fichier.

Je cherche une méthode pour enregistrer le fichier sélectionné. De préférence seulement si c'est changé.

Est-il également possible d'enregistrer tous les changements dans tous les fichiers du projet?

Une partie de mon code de la classe d'action Listener:

@Override 
    public void actionPerformed(ActionEvent ev) { 
     FileObject f = context.getPrimaryFile(); 
     String path = f.getPath();  
     String name = f.getName(); 

     //Save file here 

     ExecutionDescriptor descriptor = new ExecutionDescriptor() 
       .controllable(true) 
       .frontWindow(true) 
       .preExecution(before) 
       .postExecution(after); 
     ExecutionService exeService = ExecutionService.newService(
       new ProcessLaunch(cmdLine), 
       descriptor, "Run " + name); 
     Future<Integer> exitCode = exeService.run(); 

    } 

Répondre

3

LifecycleManager.getDefault().saveAll();

Cela permettra d'économiser tous les objets de votre projet.

1

essayez ceci:

FileObject f = ... 
DataObject data = DataObject.find(f); 
EditorCookie cookie = data.getLookup().lookup(EditorCookie.class); 
cookie.saveDocument(); 
+0

Fournir du code est agréable et tout, mais personne n'apprend rien de lui; vous devriez expliquer le processus de pensée derrière cela. –

+0

quel processus de pensée devrait être derrière cela? Il a un FileObject et veut enregistrer. La méthode save est dans EditorCookie, donc il en a besoin. DataObject.find(), getLookup() et lookup() ne sont que des méthodes getter - rien de compliqué. FileObject, DataObject et Lookup sont tous des concepts NetBeans, trop complexes pour être expliqués ici. – ramis

Questions connexes