Hello Developers! 👋
I’m excited to introduce IRIS IO Utility, my submission for the InterSystems "Bringing Ideas to Reality" Contest 2025. This VS Code extension provides you an intuitive and powerful interface for importing and exporting data without leaving your IDE. The extension implements and expand this idea submitted on the Ideas Portal turning a common developer need into a real tool: seamless IO operations with any IRIS instance directly inside VS Code.
- You can find the extension on my GitHub page: pietrodileo/iris_io_utility
- VSIX file to install the extension on VSCode can be found on the related release page: releases: iris-io-utility
If you find this extension useful, please consider voting for me at the contest!
What Can IRIS IO Utility Do?
IRIS IO Utility centralizes all your data IO workflows directly in VS Code:
- Manage multiple IRIS connections (local, remote, SSH, containerized)
- Detect and configure ODBC drivers automatically
- Import and export data in CSV, TXT, JSON, and XLSX
- Interact with a dedicated sidebar view for quick navigation
- Use clean webviews for import/export operations
- Save workspace-level preferences for a tailored experience
This extension is designed to feel native to VS Code — responsive, discoverable, and developer-friendly.
A First Look at the Extension
Once installed from a VSIX file, VS Code adds a new section to the sidebar:
- Connections
- Favorites
- Settings
These panels give you a structured environment for managing your IRIS servers and performing IO operations with minimal friction.
.png)
Settings & Configuration
ODBC Driver Settings
One of the most tedious steps in IRIS-related development is configuring ODBC drivers — so the extension handles it for you:
- Automatically detects installed IRIS ODBC drivers
- Suggests installation if drivers are missing
- Links directly to the official InterSystems Drivers page
- Lets you pick your preferred driver per workspace
- Stores your choice persistently
Once selected, ODBC becomes the high-performance engine behind all data transfers.
.png)
Creating and Managing Connections
From the dedicated sidebar you can:
- Add new connections
- Edit existing ones
- Connect or disconnect
- Mark frequently used items as favorites
- Copy configurations as JSON (for documentation or backups)
Each workspace keeps its own list of IRIS connections — similar to Git remotes — making multi-project workflows smooth and predictable.
A connection shows real-time status:
- Idle
- Connected
- Error (with logs available)
After clicking the “Connect to IRIS” icon (plug symbol), your ODBC connection becomes active.
Two new icons appear on the selected item:
- One opens the Export webview
- One opens the Import webview
This makes IO operations instantly accessible.
.png)
Exporting Data — Complete Walkthrough
Exporting data from IRIS is now a two-click operation.
Step 1 — Choose a Connection
Click the cloud-down arrow next to any connected instance.
This opens a dedicated, interactive webview.
Step 2 — Select Schema
Second step is selecting a schema.
You can:
- Enter a schema filter (optional)
- Or simply click “Search Schemas” to load all schemas in the selected namespace
.png)
Step 3 — Select a table within the specified schema
Once the schema is selected, the extension displays the list of tables available.
Pick the one you want to export.
Step 4 — Choose Export Format
Once table and schema have been selected, choose one of the supported formats:
- CSV
- TXT (with custom delimiter)
- JSON (pretty-printed)
- XLSX (preserves data types)
Each format is generated natively, with a clean output structure.
Step 5 — Choose file name
Choose a file name for the exported file. If left blank, the extension defaults to: schema_table_timestamp. This avoids filename conflicts and ensures traceability.
Step 6 — Choose Output Folder
Select the destination folder or leave empty to export to workspace root.
Step 7 — Export
Click Export and let the extension handle the process.
Export features
- Automatic timestamping to prevent accidental overwrites
- VS Code notifications for progress and completion
- Output panel logging "IRIS IO Utility" (driver info, row counts, SQL operations, performance stats)
- Quick actions to Open File or Open Folder once export finishes
Choose a custom delimiter while exporting TXT files
When exporting data to a TXT file, the extension allows you to specify a custom delimiter. This is particularly useful when working with non-standard separators such as pipes (|), semicolons (;), tabs, or even multi-character delimiters. Selecting the appropriate delimiter ensures the exported file matches your target system’s formatting requirements and maintains clean, structured output.
.png)
.png)
Coming Next: The Import Engine
In the next article, we’ll explore the most powerful part of the extension — Importing — featuring:
- Type inference engine
- File analysis
- Automatic table creation
- Index configuration
- Append / replace strategies
- Practical examples
- Tips and edge cases
Conclusion
IRIS IO Utility is designed to bring a modern, streamlined data workflow to every IRIS developer using VS Code. Whether you're exporting datasets, loading new files, or managing multiple IRIS instances, the extension makes data operations faster, clearer, and more enjoyable.
I hope this tool becomes a valuable part of your daily workflow — and your feedback will directly shape future improvements.
If you like this project, please vote for it in the InterSystems contest! 🚀
.png)
