Oracle JDeveloper 11g: Oracle IDE Extension Samples

The Oracle IDE Extension Software Developer Kit (ESDK) includes a collection of projects containing sample code and the javadoc-generated references documentation for the Extension API.

JDeveloper 11g contains functionality (the Extension Design Time) that makes it easier than ever to develop extensions for JDeveloper, SQL Developer and other Oracle products based on the Oracle IDE Platform. For a demonstration of this functionality, see the online demo.

Following are some of the features of the Extension Design Time. For more detailed information, see Extending JDeveloper in Help.

Note: If you are using JDeveloper 11gR2, please refer to the new JDeveloper Extension Developers Guide for information about how to work with Extensions in this new release. There are significant changes in 11gR2 that come along with the introdcution of a new OSGi based Extension Framework. All other design time features are the same as listed below for previous release of JDeveloper.

  • The "Extension Project" wizard (available via File->New...->Projects) makes it easier than ever before to create an extension.
  • You can set preferences on the Extensions page in Project Properties to configure a project for building an extension.
  • You can conveniently run and debug extensions directly from JDeveloper using Run Extension and Debug Extension on the right click menu for an extension project.
  • You can deploy extensions to an extension jar Deploy to Target Platform on the right click menu for an extension project.
  • The Overview editor for extension manifests (extension.xml) provides a more GUI-driven way of defining functionality provided by an extension.
  • You can build an extension for a different version of JDeveloper, or for a completely different product based on the Oracle IDE such as SQL Developer using the Manage Platforms functionality on the Extensions page in Project Properties.
  • Projects configured as extension projects manage their compile classpath automatically based on dependency and classpath information in the extension manifest (extension.xml). The "JDeveloper Extension SDK" project library is deprecated.

Running and Deploying Samples

The easiest way to try out a sample is to right click the project file for the sample, and select "Run Extension". This will run a second copy of JDeveloper with the sample project installed.

You can also permanently deploy a specific sample by choosing the "Deploy to Target Platform" context menu item. This will jar up your extension and copy it into the jdev/extensions directory.

Accessing the API Documentation (Javadoc)

To access the API documentation, go to Help > Table of Contents and then double-click on the Extension SDK node under Javadoc.

Keeping the Extension SDK Up to Date

Oracle periodically update the Extension SDK to make new samples available, or to fix documentation issues.

To make sure you have the most up to date version of the extension SDK:

  • Download Oracle JDeveloper¬†
  • Start JDeveloper
  • From the Help menu choose Check For Updates
  • Follow the steps in the wizard, being sure to select the Official Oracle Extensions update center in order to locate the Extension SDK extension.
  • JDeveloper will automatically restart to complete the installation.

The included samples are:

Sample Project Illustrated Feature
AllSamples Contains an extension manifest that installs an item in the Extensions preferences page, in which all the sample extensions in the kit are presented.

Demonstrates how to plug in to the application overview window.

AuditRefactor Demonstrates using the Audit framework to detect problems in Java code and writing a transform using the refactoring API to fix the problems automatically.

Demonstrates how to display a notification balloon from the IDE's status bar.

ClassBrowser Shows how to use JDeveloper's ClassBrowser

Shows the basic of JOT (Java Object Tool) to generate a java file in your project. Also demonstrates how to use the Finite State Machine (FSM) Wizard utility to create a multi step wizard.

ClassSpy Shows the simplest way to identify the class of a given node in the Navigator, and how to write its name in the log window.
ClickableURL Shows how to generate a clickable URL in the Log Window
CodeInteraction Shows how to get text from the code editor. Launches a google search on the currently selected text.

Demonstrates how to store and retrieve preferences, and install a panel into the Preferences dialog.


Demonstrates how to plug into the component palette using the new palette2 API.


An example of a simple create dialog invoked from the gallery.


Demonstrates creating a new empty application (jws file) and adding a new empty project to it.


Shows how to implement your own editor for a given kind of file. To see the tool in action, open any XML file and switch to the "Query" page.


Demonstrates a custom extension hook, which allows other extensions to plug into your extension.


Demonstrates how to install a custom navigator window. Installs a "Favorites" window which can be used to store frequently accessed files.

DebugObjectPreferences Demonstrates how to install a custom object preferences renderer for the Data window of the debugger.
DockableWindow Shows how to implement a custom dockable window

Shows how to write an addin that installs an external tools shortcut for an external program.


Shows how to write an addin that installs a custom macro for use by external tools.


Shows how to write a scanner for external tools that can automatically install external program shortcuts when the user clicks on the "Find Tools" button in Tools->External Tools.

FirstSample Basic sample illustrating the main concepts of the Extension Framework.

Demonstrates how to implement a form-based "Overview" editor (flat editor) like the ones introduced in various parts of JDeveloper in the 11g release.

HelloX Basic sample demonstrating a number of core concepts, including installing gallery items, actions, and menu items.

Shows how to filter the top level menus in the IDE when the layout changes.

MethodCallCounter Uses JOT (Java Object Tool) to count the number of occurrences of a named method in some code.

Implements a dockable window which shows nodes that are open in the NodeFactory, and tracks when nodes are opened and closed.

NEW in 11g Developer Preview 2.


Shows how to use overlays in the navigator, like those used by the version control extensions.

ProgressBar Shows how to implement a progress bar during the execution of some lengthy task.
ProjectSettings Demonstrates storing and retrieving project properties and adding custom project settings UI.
StructurePane Shows how to display your own content in the Structure Pane.
UpdateCenter Demonstrates how to install a custom update center as part of an extension.
VersionControlRCS Sample version control integration using the version control system (VCS) API.
false ,,,,,,,,,,,,,,,