Article
· 1 hr ago 4m read

Introducing IRIS IO Utility: A VS Code Extension for Data Import/Export with InterSystems IRIS

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.

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.


    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.

    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.


    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

    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.


    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! 🚀

    Discussion (0)1
    Log in or sign up to continue