Your data catalog, inside your editor. A VS Code extension that brings real-time metadata, lineage, and data quality context from OpenMetadata directly into your SQL workflow.
Why?
Data engineers constantly switch between their code editor and the data catalog browser. Every column check, every owner lookup, every lineage trace means leaving VS Code, navigating the UI, finding the table, and switching back.
OpenMetadata IDE eliminates that friction entirely. It connects to your OpenMetadata instance and surfaces everything you need -- schema, ownership, tags, lineage, and data quality status -- right where you write your SQL.
Features
Live Hover Cards
Hover over any table name in a SQL file to see a rich metadata card: table description, owner, tier, governance tags (PII, PersonalData), and a full column schema with types and per-column tags. Includes a direct deep link to the table in the OpenMetadata UI.
Proactive Diagnostics
The extension scans your SQL in the background. Tables that do not exist in OpenMetadata get a yellow warning squiggly. Tables with failing Data Quality tests get a red error squiggly. Your SQL file becomes a live health dashboard.
Quick-Fix Code Actions
Every diagnostic comes with contextual actions via the VS Code light bulb menu:
- Search the table in OpenMetadata
- View Data Quality test results in the browser
- Open the table directly in the OpenMetadata UI
IntelliSense Autocomplete
Type FROM or JOIN followed by a partial table name, and the extension suggests matching tables from the OpenMetadata catalog. Each suggestion includes the fully qualified name, description, and owner. Selecting a suggestion inserts the full FQN.
Inline Ghost-Text Decorations
Subtle, italicized annotations appear to the right of each resolved table name showing the owner and tier classification at a glance -- without hovering. Fully togglable in settings.
Interactive Lineage Graph
A View Lineage CodeLens link appears above SQL statements. Clicking it opens a side panel with an interactive directed graph (powered by Mermaid.js) showing upstream and downstream data flow. The root table is highlighted with a star badge.
Global Search Command
Press Ctrl+Shift+P and run "OpenMetadata: Search Table Metadata". Enter any fully qualified name and the extension returns a clean, formatted JSON document with the table's metadata, columns, and owner information.
Persistent Status Bar
A status bar indicator at the bottom of VS Code shows the live connection state:
- Connected -- your OpenMetadata server is reachable
- Offline -- the server is down or the token is invalid
- Not configured -- no JWT token has been set
Clicking the status bar opens the settings panel. The connection is re-checked every 30 seconds and instantly on configuration changes.
Hybrid SQL Parser
The parsing engine uses node-sql-parser for proper AST-based table extraction, with a regex fallback for edge cases. It also supports dbt Jinja templates (ref() and source() macros).
Native VS Code Settings
All configuration is managed through the standard VS Code settings UI (Ctrl+,). No .env files required.
| Setting |
Description |
Default |
openmetadata.serverUrl |
URL of your OpenMetadata instance |
http://localhost:8585 |
openmetadata.jwtToken |
JWT token for API authentication |
(empty) |
openmetadata.enableInlineDecorations |
Show ghost-text owner/tier decorations |
true |
openmetadata.enableAutoComplete |
Enable SQL autocomplete from the catalog |
true |
Quick Start
- Install the extension from the VS Code Marketplace.
- Open VS Code Settings (
Ctrl+,) and search for openmetadata.
- Set your Server URL (e.g.,
http://localhost:8585).
- Set your JWT Token (generate one from the OpenMetadata Admin panel under Settings > Bots).
- Open any
.sql file and start writing queries. The extension activates automatically.
Supported Languages
- SQL (
.sql)
- Jinja SQL (
.sql with dbt Jinja syntax)
- MSSQL
- MySQL
- PostgreSQL
Commands
| Command |
Description |
OpenMetadata: Fetch Tables |
Fetch and count all tables from the connected instance |
OpenMetadata: Search Table Metadata |
Look up any table by its fully qualified name |
OpenMetadata: View Lineage Graph |
Open the interactive lineage graph for tables in the current file |
OpenMetadata: Open Settings |
Jump directly to the OpenMetadata configuration panel |
Architecture
extension/src/
client/OMClient.ts -- Singleton HTTP client with LRU cache
commands/searchMetadata.ts -- Global FQN search command
engine/parser/
sqlParser.ts -- AST parser (node-sql-parser) + regex fallback
dbtParser.ts -- Jinja ref()/source() extractor
resolver.ts -- Resolves parsed entities against OM search API
panels/lineagePanel.ts -- Mermaid.js webview for lineage graphs
providers/
hoverProvider.ts -- Rich Markdown hover cards
diagnostics.ts -- Background DQ and missing-table warnings
lineageCodeLens.ts -- "View Lineage" CodeLens injector
completionProvider.ts -- IntelliSense autocomplete from OM search
codeActions.ts -- Quick-fix light bulb menu actions
decorations.ts -- Inline ghost-text owner/tier annotations
statusBar.ts -- Live connection status indicator
Requirements
- VS Code 1.107.0 or later
- A running OpenMetadata instance (v1.0+)
- A valid JWT token with API access
License
MIT