IBM i FileSystem
The IBM i FileSystem extension provides advanced functionality for viewing and managing objects inside the IBM i QSYS file system. It extends the base Code for IBM i extension with specialized editors and operations for various IBM i object types.
Install
The extension can be installed from the Marketplace and is also part of the IBM i Development Pack .
Optional: CL Prompter
Some actions use Bob Cozziโs CL Prompter and Formatter for IBM i to prompt the underlying CL command:
- Required to add or change a message description in a Message File (
*MSGF) and to change a Job Description (*JOBD) - Optional for Save Files (
*SAVF): when installed, save and restore prompt the CL command (SAV/SAVLIB/SAVOBJ, RST/RSTLIB/RSTOBJ) with the save file already filled in, instead of asking for each parameter one by one
Usage
Once connected to your IBM i system using Code for IBM i:
- Navigate to the Object Browser
- Browse to any supported object type
- Click on the object to open it in the custom editor
- Object-level actions are available in the editor Action Bar (top right), or through the Object Actions quick pick
- Row-level actions (hold/release/end a job, reply to a message, open a spooled file, โฆ) are buttons inside the tables of the object view itself
Supported Object Types
The extension supports 22 different IBM i object types with comprehensive viewing capabilities and interactive actions. Below is a summary table of all supported object types:
| Object Type | Type Code | Actions | Description |
|---|---|---|---|
| ๐ฆ Save Files | *SAVF | โ | Store and manage saved objects and libraries |
| ๐จ Data Queues | *DTAQ | โ | Inter-process communication queues |
| ๐ Data Areas | *DTAARA | โ | Shared data storage objects |
| ๐จ๏ธ Output Queues | *OUTQ | โ | Manage spooled files and printer output |
| ๐ Job Queues | *JOBQ | โ | Manage batch jobs waiting to be processed |
| ๐พ User Spaces | *USRSPC | โ | Temporary or permanent data storage |
| ๐ User Indexes | *USRIDX | โ | Fast keyed access to user-defined entries |
| ๐ Message Files | *MSGF | โ | Predefined application messages |
| ๐ฌ Message Queues | *MSGQ | โ | Store and manage system/user messages |
| ๐ Binding Directories | *BNDDIR | โ | Lists of service programs and modules |
| ๐ง Programs | *PGM | โ | Executable program objects |
| ๐ง Service Programs | *SRVPGM | โ | Shared executable code libraries |
| ๐งฉ Modules | *MODULE | โ | Compiled ILE objects |
| โ๏ธ Commands | *CMD | โ | IBM i CL command definitions |
| ๐ Job Descriptions | *JOBD | โ | Runtime environment for batch jobs |
| ๐ Journal Receivers | *JRNRCV | โ | Store journal entries for recovery |
| ๐ Journals | *JRN | โ | Record changes for auditing and recovery |
| ๐ DDM Files | *DDMF | โ | Access files on remote systems |
| ๐ฅ๏ธ Subsystem Descriptions | *SBSD | โ | Define independent operating environments |
| ๐ฏ Classes | *CLS | โ | Runtime attributes for batch jobs |
| ๐ Files | *FILE | โ | Physical/logical files, views, and indexes |
| ๐ Query Definitions | *QRYDFN | โ | Query/400 definitions, shown as SQL |
Legend:
- โ Actions Available - Interactive operations (create, modify, delete, send, clear, etc.)
- โ View Only - Read-only information display
View Object Details and Actions
To view the detailed object content and interact with object-specific actions, click directly on the object in the Object Browser. This will open the custom editor for that object type, where you can:
- View the complete object content
- Use the Action Bar (top right) to perform operations
- Edit and modify the object (when applicable)
- Access object-specific features and tools
Object Details Editor - Click on an object to open the custom editor with full content and interactive actions
Generic Actions
Every object opened in the custom editor gets these toolbar actions, whatever its type:
| Action | Description |
|---|---|
| ๐ Refresh Object | Reload the objectโs data from the system |
| โก Object Actions | Quick pick listing every action available for the current object, so they stay reachable when the toolbar is collapsed |
| ๐ง Additional Information | Open the Display Object Information (DSPOBJ) view for the object |
System Views
The extension also provides powerful system views for monitoring and managing your IBM i system:
- ๐ Display Object Information (DSPOBJ) - Comprehensive object details with locks and authorizations
- ๐ฅ Work with Active Jobs (WRKACTJOB) - Monitor and manage all active jobs
- ๐ผ Work with Job (WRKJOB) - Detailed job information with statistics and logs
- ๐ค Work with User Jobs (WRKUSRJOB) - View the jobs of a user profile, including completed ones
- ๐จ๏ธ Work with Spooled Files (WRKSPLF) - Manage the spooled files of a user profile with pagination
- ๐ข Work with Subsystems (WRKSBS) - List active subsystems, drill into them or end them
FS Quick Start Menu
Click on FS Quick Start in the status bar (bottom left) to access these commands:
| Command | Description |
|---|---|
| ๐ฅ DSPMSG | Display the current userโs message queue |
| ๐ฌ DSPMSG QSYSOPR | Display System Operator messages |
| ๐ DSPOBJ | Open the Display Object Information view, prompting for library, name and type |
| ๐ DSPOBJ Detailed | Prompt for library, object name and object type, then open that object without navigating the Object Browser |
| ๐ WRKSPLF | Work with Spooled Files |
| ๐ผ WRKJOB | Work with Job |
| ๐ WRKACTJOB | Work with Active Jobs |
| ๐ฅ WRKUSRJOB | Work with User Jobs |
| ๐ข WRKSBS | Work with Subsystems |
Customizing the menu
The menu is fully customizable through the vscode-ibmi-fs.quickStartMenu setting. Click the โ๏ธ Customize FS Quick Start Menuโฆ entry at the bottom of the menu (or run FS Quick Start: Configure FS Quick Start Menu from the Command Palette) to open a guided wizard that lets you:
- โ Add an entry pointing to any built-in or contributed VS Code command (with optional arguments)
- โ๏ธ Edit an existing entryโs label, description, icon or command
- ๐๏ธ Remove one or more entries
- โฌ๏ธโฌ๏ธ Move entries up or down to reorder the menu
- โป๏ธ Reset the menu back to the built-in defaults
Once customized, your menu completely replaces the built-in defaults; use Reset to go back to them.
Settings
Besides vscode-ibmi-fs.quickStartMenu, the extension follows two settings of the base Code for IBM i extension:
| Setting | Default | Description |
|---|---|---|
code-for-ibmi.views.autoRefreshInterval | 30 | Auto-refresh interval, in seconds, of the views that refresh themselves (WRKACTJOB, WRKJOB, WRKUSRJOB, WRKSPLF, WRKSBS and the data queue, job queue, output queue, message queue and subsystem description editors). Set it to 0 to disable auto-refresh |
code-for-ibmi.tables.itemsPerPage | 50 | Number of rows per page in paginated tables (minimum 30) |
Localization
This extension supports multiple languages through VSCodeโs built-in localization framework. The display language of VS Code is detected automatically, and more than 1600 strings are translated, including UI messages, tab titles, table column headers and IBM i database column names.
Supported Languages
- ๐ฌ๐ง English (default)
- ๐ฎ๐น Italian
- ๐ซ๐ท French
- ๐ฉ๐ช German
- ๐ช๐ธ Spanish
- ๐ฏ๐ต Japanese
- ๐ฐ๐ท Korean
- ๐ง๐ท ๐ต๐น Brazilian Portuguese
- ๐จ๐ณ Simplified and Traditional Chinese
To contribute a new language, add a l10n/bundle.l10n.<locale>.json file to the GitHub repository , copying the structure of l10n/bundle.l10n.en.json and translating the values while keeping the keys unchanged.