Managing objects in the IBM i QSYS file system has always been a challenge. The traditional approach requires switching between multiple CL commands ‘WRKOBJ’, ‘WRKJOB’, ‘WRKSPLF’, ‘DSPOBJ’, each with its own interface and limited filtering capabilities. You find yourself jumping between screens, remembering obscure command parameters, and repeating the same tedious navigation patterns over and over.

What if you could manage 22 different IBM i object types through a single, unified interface inside VS Code? Welcome to Code4iFS, a VS Code extension that modernizes IBM i systems management by bringing the power of the QSYS file system directly into your editor. You can install it using this link, or it’s automatically installed if you already have IBM i Development Pack.

The Problem: Fragmented Object Management

IBM i systems administrators and developers face a critical workflow challenge. When you need to:

– View the contents of a save file

– Monitor active jobs and their resource usage

– Manage spooled files across multiple output queues

– Inspect data queues for debugging

– Work with data areas and user spaces

– Query database files directly

…you’re forced to use different command-line tools, each with its own syntax and limitations. This fragmentation creates context-switching overhead and makes automation difficult. Moreover, searching across multiple objects requires manual effort—there’s no unified search or filtering experience.

The Solution: Comprehensive Object Management in Your Editor

Code4iFS extends the Code for IBM i extension by providing a unified interface for 22 different IBM i object types with modern, interactive views. Instead of memorizing CL commands, you work with intuitive, searchable interfaces that feel native to VS Code.

Key Features: What Makes Code4iFS Different

1. Unified Interactive Views

Instead of juggling multiple CL commands, Code4iFS provides five main interactive views:

Display Object Information (DSPOBJ) — A modern replacement for the traditional `WRKOBJ`/`DSPOBJD` command. Available for all 22 object types, this view provides:

– Detailed object metadata (owner, creation date, size, authorization list)

– Lock information with job context

– Authorization details for all users and groups

– Multi-tab interface for organized information

Available via:

– FS Quick Start Menu → DSPOBJ

– Object Browser context menu → Display Object Information

– Editor toolbar icon

Work with Active Jobs (WRKACTJOB) — Real-time monitoring of all active jobs with:

– Subsystem, job name, user, type, and status

– CPU and I/O metrics

– Searchable interface with auto-refresh

– Actions: hold, release, end, or debug jobs

Work with Job (WRKJOB) — Deep job analysis including:

– Job Information tab (status, times, attributes, resource usage)

– Job Statistics tab with four sub-sections:

– Call Stack — Program call chain

– Locks — All locks held by the job

– Open Files — Files opened and their access patterns

– Spooled Files — Output generated by the job with download/delete actions

– Job Log — Complete message history with severity and timestamps

– Auto-refresh every 30 seconds

Work with Spooled Files (WRKSPLF) — Centralized spool file management:

– Search across all spool files by name, user, status, or user data

– Pagination for large result sets

– Actions: open in editor, download as PDF, delete

– Real-time filtering as you type

Work with User Jobs (WRKUSRJOB) — Comprehensive job view:

– All jobs (active and inactive) in a single searchable interface

– Job status, type, completion status

– Conditional actions based on job state

– Join between active and historical job data

2. Search and Filter Everywhere

Every view supports real-time search across all columns:

– Type to filter job names, object names, statuses, or descriptions

– No need to memorize SQL syntax or CL WHERE clauses

– Results update instantly as you type

– Search context is preserved across pagination

3. Native SQL Integration

For advanced users, many actions leverage SQL table functions to provide programmatic access:

– Query journal entries using SQL instead of tape searching

– Inspect database file contents with `SELECT` queries

– Access system information through `QSYS2.*` table functions

– Translate legacy `*QRYDFN` objects to modern SQL

4. Multi-Tab Interface with Contextual Organization

Each view uses a modern webview-based UI with:

– Sortable, sticky-header tables

– Collapsible sections for detailed information

– Color-coded status indicators

– Dark/Light theme support matching VS Code

5. Multilingual Support

Code4iFS ships with 9 languages using VSCode’s built-in localization framework:

– 🇬🇧 English (default)

– 🇮🇹 Italian

– 🇫🇷 French

– 🇩🇪 German

– 🇪🇸 Spanish

– 🇯🇵 Japanese

– 🇰🇷 Korean

– 🇧🇷 🇵🇹 Brazilian Portuguese

– 🇨🇳 Simplified and Traditional Chinese

With 1200+ translated strings, all UI elements adapt to your VS Code language automatically.

Why This Matters: Bringing IBM i Management into the Modern Era

IBM i systems are often perceived as “legacy,” but their reliability and performance are unmatched. The challenge isn’t the platform—it’s the user experience. By bringing object management into VS Code, Code4iFS:

1. Reduces Context Switching — No more Alt-Tabbing between 5×25 screens and your IDE

2. Enables Discoverability — Modern search interfaces replace memorized commands

3. Supports Automation — SQL integration enables programmatic scripting and batch operations

4. Improves Accessibility — Intuitive UI lowers the barrier for new IBM i developers

5. Preserves Power — Advanced users still have SQL and CL command access

If you’re an IBM i systems administrator or developer, what’s your biggest pain point in object management? Is it the command-line interface, the lack of search capabilities, the overhead of context-switching, or something else entirely? How would a modern, integrated experience change your daily workflows?

Andrea