Summary: | Cannot run or debug a plug-ins in a run-time workbench if this plug-ins already installed in the running eclipse | ||
---|---|---|---|
Product: | [Eclipse Project] PDE | Reporter: | Aurélien Pelletier <pandarel> |
Component: | UI | Assignee: | Dejan Glozic <dejan> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P1 | ||
Version: | 2.0 | ||
Target Milestone: | 2.0 F2 | ||
Hardware: | PC | ||
OS: | Windows NT | ||
Whiteboard: |
Description
Aurélien Pelletier
2002-05-28 07:33:18 EDT
Have you recompiled your plug-in? Please provide detailed steps to reproduce the problem (like using one of the Plug-ins provided by the New Plug-in Project wizard. Thanks. I did recompile my plugin here is the step by step... - create a Hello World plug-in with the Plug-in Developpement wizard - install this plug-in in your eclipse plugins directory - restart eclipse (you can now use this hello world plug-in in eclipse) - modify the code in your plug-in (plug.action.SampleAction.run()) to display "Hello, another Eclipse world" instead of"Hello, Eclipse world" (save the file) - Rebuilt your project (menu Project => Rebuilt Project) - use menu Run => Run as=> run-time workbench - in the tab "Plug-ins & Fragments" make sure your plug-in is selected in the workspace plug-ins section but not in external plug-ins section - hit run - in the run-time workbench try to use your hello world plugin it will display "Hello, Eclipse world" instead of the expected "Hello, another Eclipse world" I'm using NT4 sp6, JDK 1.4, eclipse F1 Aurelien, you are completely right - there is a bug in extracting the list of 'visible' plug-ins from the launch: if (es != null && es.state) { res.add(model); } else if (model.isEnabled()) res.add(model); In the code above, if enable state is found and 'true', model is added to the list. Otherwise, if model is enabled, it is added. This is wronge because if enable state exists but is false, it should prevent the model from being added to the list. The code above will default to checking model original state, which is set in the preferences. The UI is designed so that launch configuration settings have priority over preferences. The fix is to use the following: if (es != null) { if(es.state) res.add(model); } else if (model.isEnabled()) res.add(model); I tried it and it shows the correct 'Hello, world' message (the one from the workspace). What a difference a couple of characters make :-). |