The Eclipse IDE and NetBeans IDE are both modern IDEs with modular architecture. They both support development of functionality that can expand their functionality through the use of well documented APIs and some times not so well documented conventions. Naturally there is a lot of similarity and some differences in the architecture of both IDEs. It should be noted that both IDEs are based on a core Rich Client Platform (Eclipse RCP or NetBeans Platform). It is possible to develop a non-IDE like application based on these platform that enjoy the benefits of underlying modular architectur. Thus it follows that the possibility of extnetion of functinality also applies to such applications using the same development support in both IDEs.
Here I will document and clarify the similarities and differences in the two architectures and provide a starting point for a person intending to migrate their Eclipse plugins to NetBeans modules. I will show how to migrate a completely functional Eclipse plugin to a NetBeans module. I will explain the NetBeans concepts that are equivalent to concepts from the world of Eclipse plugins.
This section will discuss the concepts and mechanisms that are analogous in Eclipse PDE and NetBeans Module development support aka apisupport.
| Eclipse | NetBeans | Description |
|---|---|---|
| Plugin Development Environment (PDE) | NetBeans Module development support (apisupport) | The support for developing plugins and modules |
| FAQs | FAQs | Module Developer FAQs |
| APIs | NetBeans 6.0 API JavaDoc | The API Javadoc |
| Tutorials | Tutorials | The tutorials |
| Rich Client Platform (RCP) | NetBeans Platform | The core platform on which both IDEs based on. Other applications can be developed on top of the platform as well. |
| OSGI | Module System and Module ClassLoaders | The modular system at the heart of both IDEs. |
| - | Module project secrets | This README file describes the working of module projects |
| Extensions and Extension Points | layer file, manifest file, META-INF/services, System File System | The mechanisms of extesion |
| Workspace | OS Filesystem | The managed storage |
| Resource | FileObject | A unit of persistance |
| Project | Project | The project |
| Project Natures | Different project types J2seProject, WebProject etc and their lookups | The projects of different kind. See How to write project types?, How Project Build System Works? |
| Workbench | WindowManager | The GUI |
| Perspectives | Windowing System modes and groups | A layout of GUI |
| Views | TopComponent in non-editor modes, ExplorerManager, Explorer Views | The views |
| Editors | CloneableTopComponents in editor mode | The editor tabs |
| Model objects | DataObjects, Datasystem | The composite objects based on files |
| Node | Node | A proxy for a model object shown in Views |
| IStructuredSelection | ActivatedNodes (Tutorial series 1 2 3 4) | The selection context that all actions are atuned to. |
| Adaptable | Lookup | A generic mechanism of service provision without inheritance. |
| ActionSets | Actions folder element in layer file | The place where actions are defined |
| menubarpath attribute | Menu folder element in layer file | The place where menus are defined |
| toolbarpath attribute | Toolbars folder element in layer file | The place where Toolbars are defined |
| plugin jar | NBM File | NBM is a specially constructed jar file used for delivering NetBeans plugins to the target environment. NBM Technology |
| Eclipse Workbench Extension Points | NetBeans equivalent |
|---|---|
| org.eclipse.ui.acceleratorConfigurations | The accelerator or shortcuts are defined under <Shortcuts> folder in layer file. |
| org.eclipse.ui.acceleratorScopes | - |
| org.eclipse.ui.acceleratorSets | - |
| org.eclipse.ui.actionDefinitions | - |
| org.eclipse.ui.actionSetPartAssociations | - |
| org.eclipse.ui.actionSets | There is no such thing as action sets in case of NetBeans. Actions are simply defined as <file> nodes under some <Actions> folder node. See or Old mechanism |
| menubarpath attribute | The menu items for actions are declared under the <folder name="Menu"> folder in layer file. See |
| toolbarpath attribute | The toolbar button for actions are declared under the <folder name="Toolbars"> folder in layer file. See |
| org.eclipse.ui.activities | - |
| org.eclipse.ui.activitySupport | - |
| org.eclipse.ui.bindings | The bindings for global actions are declared under the <folder name="Shortcuts"> folder inside the layer file. See |
| org.eclipse.ui.browser.browsers | - |
| org.eclipse.ui.browserSupport | - |
| org.eclipse.ui.commands | There is no concept of commands in NetBeans. There are only actions. |
| org.eclipse.ui.commandImages | - |
| org.eclipse.ui.contexts | - |
| org.eclipse.ui.decorators | - |
| org.eclipse.ui.dropActions | - |
| org.eclipse.ui.editorActions | - |
| org.eclipse.ui.editors | - |
| org.eclipse.ui.elementFactories | - |
| org.eclipse.ui.encodings | - |
| org.eclipse.ui.exportWizards | - |
| org.eclipse.ui.fontDefinitions | - |
| org.eclipse.ui.handlers | - |
| org.eclipse.ui.helpSupport | - |
| org.eclipse.ui.ide.filesystemSupport | - |
| org.eclipse.ui.ide.markerHelp | - |
| org.eclipse.ui.ide.markerImageProviders | - |
| org.eclipse.ui.ide.markerResolution | - |
| org.eclipse.ui.ide.markerSupport | - |
| org.eclipse.ui.ide.projectNatureImages | - |
| org.eclipse.ui.ide.resourceFilters | - |
| org.eclipse.ui.navigator.linkHelper | - |
| org.eclipse.ui.navigator.navigatorContent | - |
| org.eclipse.ui.navigator.viewer | - |
| org.eclipse.ui.importWizards | - |
| org.eclipse.ui.intro | - |
| org.eclipse.ui.keywords | - |
| org.eclipse.ui.menus | The Menus are declared by the folder nodes under the <folder name="Menu"> inside the layer file. |
| org.eclipse.ui.newWizards | - |
| org.eclipse.ui.perspectiveExtensions | - |
| org.eclipse.ui.perspectives | - |
| org.eclipse.ui.popupMenus | - |
| org.eclipse.ui.preferencePages | - |
| org.eclipse.ui.preferenceTransfer | - |
| org.eclipse.ui.presentationFactories | - |
| org.eclipse.ui.propertyPages | - |
| org.eclipse.ui.startup | An entry OpenIDE-Module-Install: org/your/module/Install The org/your/module/Install should extend org.openide.modules.ModuleInstall |
| org.eclipse.ui.statusHandlers | - |
| org.eclipse.ui.systemSummarySections | - |
| org.eclipse.ui.themes | - |
| org.eclipse.ui.viewActions | - |
| org.eclipse.ui.views | - |
| org.eclipse.ui.views.properties.tabbed.propertyContributor.html | - |
| org.eclipse.ui.views.properties.tabbed.propertySections.html | - |
| org.eclipse.ui.views.properties.tabbed.propertyTabs.html | - |
| org.eclipse.ui.workingSets | - |
The registrations made by various NetBeans modules are ususally documented here.
If you want to implement a new project type here are some documents that describe how the NetBeans project system works.
Converting any application to be fit for a framework like NetBeans can be done on various levels. The integration can be shallow and use just a few integration points, or it can be more deep and tightly follow the paradimes of the NetBeans framework. To capture these differences we have created a LevelsOfCompliance table.
File Open Server is a simple plugin that provides a simple, two way integration between an external editor such Emacs and IDE. The user can open a file that is open in the IDE in an external editor at the exactly same line and column. Conversly the user can open a file that is open in the external editor in the IDE at the exactly same line and column.
Eclipse File Open Server Menu Items
Eclipse File Open Server Toolbar
Eclipse File Open Server Preferences
NetBeans File Open Server Menu Items
It turns out, starting with in NetBeans 3.6 there is no need for the File Open Server. Instead you can invoke the NetBeans launcher with --open Filepath:line command line option. If the NetBeans IDE is not already running it is started and the specified file is opened ate the specified line numbers. This mechanism avoids the inherent security risks of listening on a TCP port. The only drawback of --open command line option is that it does not support the column number. I may add that some time soon.
NetBeans File Open Server Toolbar
NetBeans File Open Server Options
TODO
FileOpenServer/manifest.mf FileOpenServer/src/org/netbeans/modules/fileopenserver/StartFileOpenServerAction.java FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenRequestListenerImpl.java FileOpenServer/src/org/netbeans/modules/fileopenserver/layer.xml FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServerSettings.java FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServerConstants.java FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServerOptionsPanelController.java FileOpenServer/src/org/netbeans/modules/fileopenserver/OpenFileInExternalEditorAction.java FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServerInstaller.java FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenRequestListener.java FileOpenServer/src/org/netbeans/modules/fileopenserver/resources FileOpenServer/src/org/netbeans/modules/fileopenserver/resources/StopFileOpenServerIcon.gif FileOpenServer/src/org/netbeans/modules/fileopenserver/resources/OpenFileInExternalEditorIcon.gif FileOpenServer/src/org/netbeans/modules/fileopenserver/resources/StartFileOpenServerIcon.gif FileOpenServer/src/org/netbeans/modules/fileopenserver/resources/OpenFileInExternalEditorIcon32x32.gif FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenRequestEvent.java FileOpenServer/src/org/netbeans/modules/fileopenserver/Bundle.properties FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServerPanel.form FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServerPanel.java FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServer.java FileOpenServer/src/org/netbeans/modules/fileopenserver/FileOpenServerOptionsCategory.java FileOpenServer/test FileOpenServer/test/unit FileOpenServer/test/unit/src FileOpenServer/build.xml FileOpenServer/nbproject FileOpenServer/nbproject/project.properties FileOpenServer/nbproject/project.xml FileOpenServer/nbproject/private FileOpenServer/nbproject/private/private.xml FileOpenServer/nbproject/private/private.properties
<eclipse-install-dir>/plugins/FileOpenServer_1.0.0/icons/startserver.gif <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/icons/opentypeinexternaleditor.gif <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/icons/stopserver.gif <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/icons/openfileinexternaleditor.gif <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenRequestListenerImpl.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/StopFileOpenServerAction.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/StartFileOpenServerAction.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenRequestListener.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenRequestListenerImpl$1.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenServer.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenRequestEvent.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/OpenTypeInExternalEditorAction.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/OpenFileInExternalEditorAction.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenServerConstants.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenServerStartup.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenServerPlugin.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/classes/FileOpenServer/FileOpenServerWorkbenchPreferencePage.class <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/META-INF/MANIFEST.MF <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/plugin.xml <eclipse-install-dir>/plugins/FileOpenServer_1.0.0/FileOpenServer.jar
<netbeans-install-dir>/extra/modules/org-netbeans-modules-fileopenserver.jar <netbeans-install-dir>/extra/modules/el/find-file-ide.el <netbeans-install-dir>/extra/update_tracking/org-netbeans-modules-fileopenserver.xml <netbeans-install-dir>/extra/config/Modules/org-netbeans-modules-fileopenserver.xml
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension
id="FileOpenServerStartup"
name="FileOpenServerStartup"
point="org.eclipse.ui.startup">
<startup
class="FileOpenServer.FileOpenServerStartup"> <!-- This corresponds to org.netbeans.modules.fileopenserver.FileOpenServerInstaller in NetBeans project.
</startup>
</extension> <!-- This corresponds to the OpenIDE-Module-Install: org/netbeans/modules/fileopenserver/FileOpenServerInstaller.class in NetBeans manifest.mf. Methods of this class are executed at startup.-->
<extension
id="FileOpenServerPreferecesExtensionId"
name="FileOpenServerPrefereces Extension"
point="org.eclipse.ui.preferencePages">
<page
name="File Open Server"
class="FileOpenServer.FileOpenServerWorkbenchPreferencePage"
id="FileOpenServer.FileOpenServerWorkbenchPreferencePage">
</page>
</extension> <!-- This corresponds to the
<folder name="OptionsDialog">
<file name="org-netbeans-modules-fileopenserver-FileOpenServerOptionsCategory.instance"/>
</folder>
section in FileOpenServer/src/org/netbeans/modules/fileopenserver/layer.xml file. It specifies the Options page in Tools:Options dialog where the module's preferences are edited.
-->
<extension
id="FileOpenServerActionSetExtensionId"
name="FileOpenServer ActionSet Extension"
point="org.eclipse.ui.actionSets">
<actionSet <!-- This corresponds to the <folder name="Actions"> section in FileOpenServer/src/org/netbeans/modules/fileopenserver/layer.xml -->
label="FileOpenServer Action Set"
id="FileOpenServer.actionSet">
<action
toolbarPath="Normal/additions"
label="Stop File Open Server"
class="FileOpenServer.StopFileOpenServerAction"
icon="icons/stopserver.gif"
menubarPath="file/additions"
id="FileOpenServer.StopFileOpenServerAction">
</action>
<action
toolbarPath="Normal/additions"
label="Start File Open Server"
class="FileOpenServer.StartFileOpenServerAction"
icon="icons/startserver.gif"
menubarPath="file/additions"
id="FileOpenServer.StartFileOpenServerAction">
</action>
<action
toolbarPath="Normal/additions"
label="Open file in External Editor"
class="FileOpenServer.OpenFileInExternalEditorAction"
tooltip="Open file in external editor"
icon="icons/openfileinexternaleditor.gif"
definitionId="FileOpenServer.OpenFileInExternalEditorCommand"
menubarPath="file/additions"
id="OpenFileInExternalEditor.action">
</action>
<action
toolbarPath="Normal/additions"
label="Open type in External Editor"
class="FileOpenServer.OpenTypeInExternalEditorAction"
tooltip="Open type in external editor"
icon="icons/opentypeinexternaleditor.gif"
definitionId="FileOpenServer.OpenTypeInExternalEditorCommand" <-- This has not been implmented in the NetBeans module yet. -->
menubarPath="file/additions"
id="OpenTypeInExternalEditor.action">
</action>
</actionSet>
</extension>
<extension <!-- This section configures in which perspectives the actions are visible. There is no 100% equivalent of this in NetBeans. -->
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="org.eclipse.ui.resourcePerspective">
<actionSet
id="FileOpenServer.actionSet">
</actionSet>
</perspectiveExtension>
<perspectiveExtension
targetID="org.eclipse.jdt.ui.JavaPerspective">
<actionSet
id="FileOpenServer.actionSet">
</actionSet>
</perspectiveExtension>
<perspectiveExtension
targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
<actionSet
id="FileOpenServer.actionSet">
</actionSet>
</perspectiveExtension>
<perspectiveExtension
targetID="org.eclipse.jdt.ui.JavaHierarchyPerspective">
<actionSet
id="FileOpenServer.actionSet">
</actionSet>
</perspectiveExtension>
<perspectiveExtension
targetID="org.eclipse.debug.ui.DebugPerspective">
<actionSet
id="FileOpenServer.actionSet">
</actionSet>
</perspectiveExtension>
<perspectiveExtension
targetID="org.eclipse.pde.ui.PDEPerspective">
<actionSet
id="FileOpenServer.actionSet">
</actionSet>
</perspectiveExtension>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Open file in External Editor"
categoryId="org.eclipse.ui.category.file"
name="Open file in External Editor"
id="FileOpenServer.OpenFileInExternalEditorCommand">
</command>
<keyBinding
commandId="FileOpenServer.OpenFileInExternalEditorCommand"
keySequence="Ctrl+E"
keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyBinding> <!-- This corresponds to the <folder name="Shortcuts"> section in FileOpenServer/src/org/netbeans/modules/fileopenserver/layer.xml file. -->
<command
description="Open type in External Editor"
categoryId="org.eclipse.ui.category.file"
name="Open type in External Editor"
id="FileOpenServer.OpenTypeInExternalEditorCommand"> <-- This has not been implmented in the NetBeans module yet. -->
</command>
<keyBinding
commandId="FileOpenServer.OpenTypeInExternalEditorCommand"
keySequence="Ctrl+T"
keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyBinding> <-- This has not been implmented in the NetBeans module yet. -->
</extension>
</plugin>
Runtime Manifest file
Manifest-Version: 1.0
Bundle-Name: File Open Server Plug-in # This corresponds to the display name of the NetBeans module that is specified in the src/org/netbeans/modules/fileopenserver/Bundle.properties using OpenIDE-Module-Name= entry. The bundle file itself is specified in the
# manifest.mf file using OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fileopenserver/Bundle.properties entry.
Bundle-SymbolicName: FileOpenServer # This corresponds to the unique of the NetBeans module aka code name base specified by the OpenIDE-Module:entry in the manifest.mf file.
Bundle-Version: 1.0.0 # This partly corresponds to the OpenIDE-Module-Specification-Version: entry in the manifest.mf file.
Bundle-ClassPath: FileOpenServer.jar # The jar file name of the NetBeans module is derived from the NetBeans module's code name base e.g. org-netbeans-modules-fileopenserver.jar and lives (when installed globally) in the <cluster>/modules/ directory of the NetBeans installation.
Bundle-Activator: FileOpenServer.FileOpenServerPlugin
Bundle-Localization: plugin # This corresponds to the bundle file specification in the manifest.mf file using OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fileopenserver/Bundle.properties entry.
Require-Bundle: org.eclipse.ui, # This declares the Eclipse API dependencies of this plug-in. This corresponds to the OpenIDE-Module-Module-Dependencies: section of NetBeans module manifest file.
org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.jface.text,
org.eclipse.ui.editors,
org.eclipse.ui.workbench.texteditor,
org.eclipse.ui.ide,
org.eclipse.jdt,
org.eclipse.jdt.core,
org.eclipse.jdt.ui
Eclipse-AutoStart: true # This corresponds to the way the NetBeans modules are instantiated and started.
# A NetBeans module can be exclusively autoload, eager or regular and is specified by is.autoload=true, is.eager=true or non properties in nbproject/project.properties file.
# This results in <param name="autoload">true</param> or <param name="eager">true</param>
Manifest file
Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.fileopenserver OpenIDE-Module-Install: org/netbeans/modules/fileopenserver/FileOpenServerInstaller.class OpenIDE-Module-Layer: org/netbeans/modules/fileopenserver/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fileopenserver/Bundle.properties OpenIDE-Module-Specification-Version: 1.1
Runtime Manifest file
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.0 Created-By: 1.5.0_13-b05 (Sun Microsystems Inc.) OpenIDE-Module-Public-Packages: - OpenIDE-Module-Module-Dependencies: org.jdesktop.layout/1 > 1.4, org.n # This is runtime form of the <module-dependencies> section in the NetBeans module's project.xml file. etbeans.modules.editor.lib/1 > 1.20, org.netbeans.modules.editor.lib2 /1 > 1.5, org.netbeans.modules.options.api/0-1 > 1.5, org.openide.awt > 6.11, org.openide.filesystems > 7.3, org.openide.io > 1.11, org.op enide.loaders > 6.7, org.openide.modules > 7.3, org.openide.nodes > 7 .2, org.openide.text > 6.16, org.openide.util > 7.10, org.openide.win dows > 6.18 OpenIDE-Module-Java-Dependencies: Java > 1.5 OpenIDE-Module-Implementation-Version: 071029 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.fileopenserver OpenIDE-Module-Install: org/netbeans/modules/fileopenserver/FileOpenSe rverInstaller.class OpenIDE-Module-Layer: org/netbeans/modules/fileopenserver/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fileopenserver/ Bundle.properties OpenIDE-Module-Specification-Version: 1.0 OpenIDE-Module-Requires: org.openide.modules.ModuleFormat1
nbproject/project.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.apisupport.project</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
<code-name-base>org.netbeans.modules.fileopenserver</code-name-base>
<module-dependencies>
<dependency>
<code-name-base>org.jdesktop.layout</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.4</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.editor.lib</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.20</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.editor.lib2</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.5</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.options.api</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>0-1</release-version>
<specification-version>1.5</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.awt</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>6.11</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.filesystems</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>7.3</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.io</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>1.11</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.loaders</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>6.7</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.modules</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>7.3</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.nodes</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>7.2</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.text</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>6.16</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.util</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>7.10</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.windows</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>6.18</specification-version>
</run-dependency>
</dependency>
</module-dependencies>
<public-packages/>
</data>
</configuration>
</project>
Layer File
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>
<folder name="Actions">
<folder name="Edit">
<file name="org-netbeans-modules-fileopenserver-OpenFileInExternalEditorAction.instance"/>
<file name="org-netbeans-modules-fileopenserver-StartFileOpenServerAction.instance"/>
</folder>
</folder>
<folder name="Menu">
<folder name="File">
<file name="org-netbeans-modules-fileopenserver-OpenFileInExternalEditorAction.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-netbeans-modules-fileopenserver-OpenFileInExternalEditorAction.instance"/>
<attr name="position" intvalue="2587"/>
</file>
<file name="org-netbeans-modules-fileopenserver-StartFileOpenServerAction.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-netbeans-modules-fileopenserver-StartFileOpenServerAction.instance"/>
<attr name="position" intvalue="2550"/>
</file>
<file name="org-netbeans-modules-fileopenserver-separatorAfter.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="2593"/>
</file>
</folder>
</folder>
<folder name="OptionsDialog">
<file name="org-netbeans-modules-fileopenserver-FileOpenServerOptionsCategory.instance"/>
</folder>
<folder name="Toolbars">
<folder name="File">
<file name="org-netbeans-modules-fileopenserver-OpenFileInExternalEditorAction.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-netbeans-modules-fileopenserver-OpenFileInExternalEditorAction.instance"/>
<attr name="position" intvalue="700"/>
</file>
<file name="org-netbeans-modules-fileopenserver-StartFileOpenServerAction.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-netbeans-modules-fileopenserver-StartFileOpenServerAction.instance"/>
<attr name="position" intvalue="500"/>
</file>
</folder>
</folder>
<folder name="Shortcuts">
<file name="O-E.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-netbeans-modules-fileopenserver-OpenFileInExternalEditorAction.instance"/>
</file>
</folder>
</filesystem>
| Eclipse - File Open Server Menu Items.png | ![]() |
6988 bytes |
| Eclipse - File Open Server Preferences.png | ![]() |
46592 bytes |
| Eclipse - File Open Server Toolbar.png | ![]() |
1301 bytes |
| FileOpenServer.zip | ![]() |
72322 bytes |
| FileOpenServer_1.0.0.zip | ![]() |
48933 bytes |
| NetBeans - File Open Server Menu Items.png | ![]() |
1981 bytes |
| NetBeans - File Open Server Options.png | ![]() |
23736 bytes |
| NetBeans - File Open Server Toolbar.png | ![]() |
2872 bytes |
| find-file-ide.el | ![]() |
6210 bytes |
| org-netbeans-modules-fileopenserver.nbm | ![]() |
33902 bytes |