OpenEdge DataDigger
Browse, query and edit your Progress OpenEdge (ABL/4GL) databases without leaving VS Code.
OpenEdge DataDigger brings a rich, spreadsheet-style database client into the editor: connect to
your OpenEdge databases, explore tables and fields, run filtered queries, and add, edit, delete,
import or export records — all from a dedicated panel. It also exposes its data operations as
AI/Copilot tools and a Model Context Protocol (MCP) server, so AI agents can safely inspect
and work with your data.
Inspired by the classic desktop DataDigger tool by Patrick
Tingen. This extension is an independent VS Code implementation by AI4YOU / KH-IT BV and is not
affiliated with, nor a port of, the original DataDigger.
Features
Data browsing & editing
- Browse tables and fields across every connected database from the DataDigger activity-bar panel.
- Query data with a custom WHERE clause, multi-column sorting and pagination.
- Add / Edit / Delete records directly in the data grid, with automatic per-write backups you can revert.
- Favorite frequently used tables for quick access.
Import & export
- Export query results to Progress
.d dump files, XML, JSON, CSV, TXT, 4GL, XLSX or HTML — or copy to the clipboard.
- Import
.d dump files (and XML/CSV content) back into a table.
Connections
- Configure database connections at Project, Workspace, User or Folder scope.
- Manage user/workspace/folder connections inside DataDigger — no manual file editing required.
AI & Copilot integration
- Ships a set of Language Model tools that GitHub Copilot and other VS Code AI agents can call to
list databases/tables, describe schema, query and count rows, and (with explicit confirmation) insert,
update, delete, import and export data.
- Registers a bundled MCP server (
OpenEdge DataDigger) so external MCP-aware assistants can use the
same operations. Write operations require an explicit confirm flag and a reason.
Requirements
| Requirement |
Details |
| VS Code |
1.101 or newer |
| Node.js |
v20 or newer — required to run the DataDigger backend server |
| OpenEdge |
Any supported Progress OpenEdge installation (DLC) |
| ABL extension |
The OpenEdge ABL VS Code extension must be installed and abl.configuration.runtimes must point at your DLC directory |
Getting Started
- Install OpenEdge DataDigger from the VS Code Marketplace (or from the
.vsix provided by your team).
- Configure a connection (see below).
- Open DataDigger in one of three ways:
- Click the DataDigger icon in the Activity Bar (left sidebar).
- Right-click any
.p / .cls file in the Explorer → 🔍 DataDigger.
- Run the command palette command 🔍 DataDigger.
The backend starts automatically. The first launch may take a few seconds while OpenEdge initialises.
Connections can be defined at four scopes:
| Scope |
Where |
Use case |
| Project |
openedge-project.json in your project root |
Shared with the team via source control |
| Workspace |
VS Code workspace settings |
Shared across all folders in a .code-workspace |
| User |
VS Code user settings |
Personal / machine-specific connections |
| Folder |
Per-folder VS Code settings |
Per-project overrides in a multi-folder workspace |
Project scope example — add to openedge-project.json:
{
"dbConnections": [
{
"name": "sports2020",
"connect": "-db sports2020 -H localhost -S 10001"
}
]
}
For User / Workspace / Folder scope, manage connections directly inside DataDigger via
Settings → Connections.
Full details: docs/USERGUIDE.md → Connection scopes.
Extension Settings
This extension contributes the following settings:
| Setting |
Type |
Default |
Description |
datadigger.httpPort |
number |
23004 |
HTTP port for the DataDigger backend server. |
datadigger.ablSocketPort |
number |
23001 |
Socket port for ABL communication. |
Commands
| Command |
Title |
How to run |
openedge-datadigger.showDataDigger |
🔍 DataDigger |
Command Palette, Activity Bar icon, or the Explorer context menu on a .p / .cls file |
Known Issues & Limitations
- Requires a working local OpenEdge installation and the OpenEdge ABL extension; DataDigger does not
bundle an OpenEdge runtime.
- Connectivity depends on
abl.configuration.runtimes pointing at a valid DLC directory.
- If the backend fails to start, check the DataDigger Backend output channel and verify the
configured HTTP / ABL socket ports are free.
- AI-driven write operations always require an explicit confirmation and are logged; they are not
performed silently.
See the issue tracker for the
current list.
Release Notes
See CHANGELOG.md for the full version history.
License
This is proprietary software. See LICENSE.txt for the full terms.
Copyright © KH-IT BV / AI4YOU. All rights reserved.