A powerful Visual Studio Code extension for seamless data import/export operations with InterSystems IRIS databases. This extension provides an intuitive interface to connect, manage, and transfer data between various file formats and IRIS namespaces.
Contest Submission: This project was developed as a submission for the InterSystems "Bringing Ideas to Reality" Contest of December 2025. The extension provides an implementation for the following idea: Load Data on VSCode
Related Articles: I published on InterSystems Developer Community two articles about this project.
- Introducing IRIS IO Utility: A VS Code Extension for Data Import/Export with InterSystems IRIS
- IRIS IO Utility: A Complete Guide to Smart Importing in VS Code
- Features
- Prerequisites
- Installation
- Getting Started
- ODBC Connection
- Using the Extension
- Configuration
- Troubleshooting
- License
-
Smart Data Import and Export
- Use ODBC connection to connect (requires InterSystems IRIS drivers)
- Automatic data type inference from file content
- Converts inferred types to IRIS SQL-compliant data types
- You can choose to create a new table automatically while importing data or to append or replace data in an existing table
- Support for custom column types and indexes
- Export any table from IRIS namespaces
- Multiple format options: CSV, TXT, JSON, XLSX
-
Intuitive UI
- Dedicated sidebar view with connection management
- Interactive webviews for import/export operations
- Real-time connection status indicators
- Favorites system for quick access to frequently used tables
-
Supported File Formats
- CSV (Comma-Separated Values)
- TXT (With custom delimiter)
- JSON
- XLSX (Microsoft Excel)
- Visual Studio Code 1.80.0 or higher
- Node.js 14.0 or higher
- InterSystems IRIS instance (local, remote, or containerized)
- ODBC Drivers (for ODBC connections)
- Download the
.vsixfile from the releases page - Open VS Code
- Go to Extensions view
- Click the "..." menu → Install from VSIX
- Select the downloaded file
The project includes a pre-configured Docker Compose setup for testing purposes.
# Navigate to the project directory
cd iris-io-utility
# Start the IRIS container
docker-compose up -dThe container will start an InterSystems IRIS instance with the following configuration:
- Management Portal: http://localhost:9092/csp/sys/UtilHome.csp
- SuperServer Port: 9092
- Web Server Port: 9091
- Username: _SYSTEM
- Password: SYS
- Default Namespace: USER
- Open your browser and navigate to http://localhost:9092/csp/sys/UtilHome.csp
- Login with:
- Username:
_SYSTEM - Password:
SYS
- Username:
- You should see the IRIS Management Portal
- Open VS Code and click on the IRIS IO Utility icon in the sidebar
- Click "Add New Connection" (+ icon)
- Enter the following details:
- Connection Name:
Local Docker IRIS - Host:
localhost - SuperServer Port:
9092 - Web Server Port:
9091 - Namespace:
USER - Username:
_SYSTEM - Password:
SYSIf you prefer, you can try to connect to another IRIS instance. The extension works both with local (SSH as well) and remote instances.
- Connection Name:
- Open the settings page (gear icon) and select the Connection Type:
- Check for
ODBCdrivers. If InterSystems IRIS drivers are not found install it and select them among the available drivers list.
- Check for
- Find your connection in the Connections view
- Click the Connect icon (plug icon)
- Wait for the connection status to change to "Connected" (green checkmark)
The ODBC connection uses the InterSystems IRIS ODBC driver for enhanced performance.
- Open the IRIS IO Utility sidebar
- Click the Settings icon (gear icon) at the top
- Click "Check ODBC Drivers"
- If drivers are not detected, click "Download ODBC Drivers"
- Follow the installation instructions for your platform:
- Windows: Run the installer and follow the wizard
- macOS: Mount the DMG and run the installer
- Linux: Extract the archive and run the install script
- After installation, return to the settings page and click "Check ODBC Drivers" again
- Select your preferred driver from the dropdown
- Click "Save Driver Selection"
- Click the "+ Add New Connection" button in the sidebar
- Fill in the connection details form
- Click "Save Connection"
- Find the connection in the list
- Click the Edit icon (pencil)
- Modify the connection details
- Click "Save Changes"
- Click the Connect icon (plug) to establish a connection
- Click the Disconnect icon (unplug) to close the connection
- Connection status is indicated by:
- Idle (not connected)
- Connected
- Error
- Right-click on a connection to copy its details as a JSON.
- Click the Star icon to add a connection to favorites
- Access favorited connections from the "Favorites" view
- Click the Star icon again to remove from favorites
The Import feature allows you to load data from various file formats into IRIS tables.
- Connect to your IRIS instance
- Click the Import icon (cloud with up arrow) on your connection
- The Import webview will open
- Click "Browse..." to select your data file
- Supported formats: CSV, TXT, JSON, XLSX
- The file path will appear in the input field
Option A: Create New Table
- Select the "Import to New Table" tab
- Enter a schema name (e.g.,
SQLUser) - Enter a new table name
- Click "Analyze File" to preview data types
- Review and adjust column types if needed
- Configure indexes (optional):
- Check the "Index" box for columns you want to index
- Select index type (INDEX, UNIQUE, BITMAP)
- Optionally customize the index name
- Click "Import"
Option B: Import to Existing Table
- Select the "Import to Existing Table" tab
- Select the target schema from the dropdown
- Select the target table from the dropdown
- Choose data action:
- Append: Add new rows to existing data
- Replace: Delete all existing rows and insert new data
- Click "Import"
- Progress notifications will appear in VS Code
- Check the Output panel (IRIS IO Utility channel) for detailed logs
- A success message will confirm when import is complete
Automatic Type Inference
- The extension analyzes your data and suggests optimal SQL data types
- Detects: INTEGER, VARCHAR, DATE, TIMESTAMP, DECIMAL, BOOLEAN
- Sample values are shown for verification
Custom Type Selection
- Override inferred types by selecting from the dropdown
- Supports all IRIS SQL data types
- Changes are applied before table creation
Index Creation
- Create indexes during table creation
- Support for INDEX, UNIQUE, BITSLICE, BITMAP and COLUMNAR indexes
- Automatic index naming with customization option
The Export feature allows you to extract data from IRIS tables to various file formats.
- Connect to your IRIS instance
- Click the Export icon (cloud with down arrow) on your connection
- The Export webview will open
- Enter a schema filter (optional) to narrow down schemas
- Click "Search Schemas" or press Enter
- Select the schema from the dropdown
- Select the table you want to export
-
Choose the output format:
- CSV: Comma-separated values
- TXT: Tab-separated (or custom delimiter)
- JSON: JavaScript Object Notation
- XLSX: Excel format
-
Specify export location:
- Leave blank to use the current workspace folder
- Or click "Browse..." to select a specific folder
-
(Optional) Enter a custom filename
- If left blank, uses format:
{schema}_{table}_{timestamp}
- If left blank, uses format:
- Click "Export"
- Progress notification will appear
- When complete, choose to:
- Open File: View the exported data immediately
- Open Folder: Open the containing folder
- Or dismiss the notification
Format Options
- CSV: Standard comma-separated format, Excel-compatible
- TXT: Tab-separated by default, customizable delimiter
- JSON: Pretty-printed, array of objects format
- XLSX: Native Excel format (preserves data types)
Automatic Timestamps
- All exports include timestamp in filename
- Format:
YYYYMMDD_HHMMSS - Prevents accidental overwrites
Workspace Integration
- Exports to workspace folder by default
- Custom folder selection available
- File operations logged to Output panel
Access settings via the gear icon in the IRIS IO Utility sidebar.
ODBC Driver Selection
- View installed ODBC drivers
- Select preferred driver
- Test driver availability
Connection data is stored per workspace in VS Code's workspace state:
- Connection configurations
- Favorites list
- Default connection type
- Selected ODBC driver
Note: Connections are workspace-specific and won't appear in other workspaces.
The extension is provided with a VSCode Output window called "IRIS IO Utility" where you can see logs.
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Data Managing! 🚀