Browse, search, and open files stored in an Oracle MDS (Metadata Services) repository directly from VS Code — without opening JDeveloper.
MDS is the metadata store used by Oracle SOA Suite, Oracle Service Bus, and Oracle BPM Suite to persist artifacts such as WSDLs, XSDs, XSLTs, DVMs, and BPEL processes.
Features
- Browse your MDS repository as a file tree — partitions → folders → documents
- Open files with syntax highlighting (WSDL, XSD, XSLT, XML, BPEL, DVM, BPMN, …)
- Search across all file paths in the repository with a live QuickPick search
- Multiple connections — connect to several MDS schemas simultaneously
- Always shows the latest version — uses
PATH_HIGH_CN IS NULLto resolve the current live version of every artifact - Single click opens a preview tab; double click or Open in New Tab pins it permanently
- Tree auto-expansion — opening a file from search automatically expands and selects it in the tree
- Loading indicators — status bar progress and per-node spinner while content is fetching
- 60-second timeout with a clear error message if a file takes too long to load
- Copy
oramds:/path to clipboard from any file or folder - No Oracle Instant Client required — connects via JDBC using your existing JDeveloper
ojdbc8.jar
Requirements
Java
A JDK (not just JRE) is required to compile and run the JDBC bridge.
- JDK 8 or later (
javaandjavacmust both be available) - The extension auto-detects Java from, in order:
- The
MDS Explorer: Java Pathsetting JAVA_HOMEenvironment variableMW_HOME/ORACLE_HOMEenvironment variables (JDeveloper bundled JDK)- Common JDeveloper 14c install paths (
C:\Oracle\Middleware\Oracle_Home\oracle_common\jdk) - System
PATH
- The
Oracle JDBC driver (ojdbc8.jar)
No Oracle Instant Client is needed. The extension uses JDBC, which supports Oracle Native Network Encryption (NNE) — required by most enterprise Oracle databases.
- The extension auto-detects
ojdbc8.jarfrom common JDeveloper 14c paths - Or set the
MDS Explorer: Ojdbc Jar Pathsetting explicitly
Typical location in a JDeveloper 14c install:
<JDev install>\oracle_common\modules\oracle.jdbc\ojdbc8.jar
Getting Started
- Open the MDS Explorer panel in the Activity Bar (database icon)
- Click the + button in the panel title bar to add a connection
- Enter:
- Display name — a label for this connection (e.g.
DEV MDS) - JDBC URL — e.g.
jdbc:oracle:thin:@hostname:1521:DBSID - Username — the MDS schema user (e.g.
DEV_MDS) - Password — stored securely in VS Code's secret storage
- Display name — a label for this connection (e.g.
- Click the connection to connect
- Expand partitions and folders to browse, or right-click the connection and choose Search Documents
Extension Settings
| Setting | Description | Default |
|---|---|---|
mdsExplorer.javaPath |
Path to java.exe or a JDK home directory. Leave empty to auto-detect. |
(auto-detect) |
mdsExplorer.ojdbcJarPath |
Full path to ojdbc8.jar. Leave empty to auto-detect from JDeveloper install. |
(auto-detect) |
Commands
All commands are accessible via the MDS Explorer tree view context menus.
| Command | Where | Description |
|---|---|---|
| Add Connection | Title bar + |
Add a new MDS connection |
| Connect | Connection node | Connect and load the tree |
| Disconnect | Connected connection node | Disconnect and clear the tree |
| Remove Connection | Connection right-click | Delete a saved connection |
| Refresh | Any node right-click | Reload children from the database |
| Search Documents | Connected connection right-click | Live path search across the repository |
| Open in New Tab | Document right-click or + icon |
Open file in a permanent tab |
Copy oramds:/ Path |
File or folder right-click | Copy the MDS path to clipboard |
JDBC URL Formats
All standard Oracle JDBC URL formats are supported:
# SID format
jdbc:oracle:thin:@hostname:1521:DBSID
# Service name (EZConnect)
jdbc:oracle:thin:@//hostname:1521/service.domain
# TNS descriptor
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=service)))
Known Issues
- Documents are read-only — the extension is a viewer only; writing back to MDS is not supported
- Very large decomposed XML files (type-0 content stored in
MDS_COMPONENTS) may take longer to reconstruct - Auto-detection of Java and ojdbc paths covers JDeveloper 14c on Windows; other layouts may require manual settings
How It Works
The extension spawns a small Java helper (MdsBridge.java) as a child process, compiled on first use from your local JDK. Communication uses a simple tab-delimited, Base64-encoded line protocol over stdin/stdout. This avoids any dependency on Oracle Instant Client and works transparently with Oracle Native Network Encryption.
Following extension guidelines
Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension.
Working with Markdown
You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts:
- Split the editor (
Cmd+\on macOS orCtrl+\on Windows and Linux). - Toggle preview (
Shift+Cmd+Von macOS orShift+Ctrl+Von Windows and Linux). - Press
Ctrl+Space(Windows, Linux, macOS) to see a list of Markdown snippets.
For more information
Enjoy!