Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>IBM I PDMNew to Visual Studio Code? Get it now.
IBM I PDM

IBM I PDM

Giuseppe Di Bari

|
1 install
| (0) | Free
Graphical PDM (Programming Development Manager) for IBM i — WRKMBRPDM in VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IBM I PDM — Graphical PDM for VS Code

WRKMBRPDM inside VS Code
A modern, graphical reimagining of the classic AS/400 PDM — fully integrated with Code for IBM i.


Overview

IBM I PDM brings the classic IBM i Programming Development Manager experience into Visual Studio Code. It provides a retro green-on-black 5250-style interface for managing source members, objects, active jobs, and spooled files — all without leaving your editor.

Built on top of Code for IBM i, it leverages SQL services (QSYS2, SYSTOOLS) for fast, efficient data access.


Features

Work with Members (WRKMBRPDM)

Browse and manage source members across IBM i libraries with a familiar option-code interface.

Option Action
2 Edit — opens the member in VS Code (read/write)
3 Copy — duplicates the member to another library/file/member
4 Delete — removes the member (with confirmation)
5 Display — opens the member in read-only mode
7 Rename — renames the member with validation
14 Compile — submits the appropriate compile command
T Change Type — modify the member source type inline
X Change Text — edit the member description (up to 50 chars)

Additional capabilities:

  • SQL-powered member list via QSYS2.SYSPARTITIONSTAT (fast, no DSPFD)
  • Position to — jump directly to a member by name prefix
  • Pagination — configurable page size with "More…" indicator
  • Click member name to edit (option 2)
  • Inline edit buttons — hover on Type or Text columns to edit instantly
  • Right-click context menu — quick access to edit type/text
  • Recent Filters — last 10 searches saved in the sidebar with editable descriptions
  • State persistence — remembers Library/File across sessions

Work with Objects (WRKOBJ)

Search and inspect library objects by name, library, and object type.

Option Action
8 Description — displays detailed object information
  • Wildcard support — use * and ? in search fields
  • Detail modal — shows creation info, last used date, size, compression, save/restore details
  • Prompt mode — use ? suffix to open command prompter
  • Data sourced from QSYS2.OBJECT_STATISTICS

Work with Active Jobs (WRKACTJOB)

Monitor active jobs in real time, filtered by subsystem, job name, user, or status.

Option Action
5 Work with — displays full job details
  • CPU % displayed in the list view
  • Detail modal with 6 sections: identification, status, performance, memory, timestamps
  • Wildcard filters on subsystem, job name, user, and status fields
  • Data sourced from QSYS2.ACTIVE_JOB_INFO with DETAILED_INFO

Work with Spooled Files (WRKSPLF)

Browse and manage spooled files by user and output queue.

Option Action
4 Delete — removes the spooled file (with confirmation)
5 Display — opens spooled file content in the editor
  • Default filter — *CURRENT user
  • Output queue filter — supports LIB/QUEUE format
  • ASA carriage control stripping for clean display
  • Data sourced from QSYS2.OUTPUT_QUEUE_ENTRIES_BASIC + SYSTOOLS.SPOOLED_FILE_DATA

CL Command Prompter

A graphical prompter for any CL command — triggered by typing a command with ? prefix or suffix.

  • Dynamic form built from QCDRCMDD API metadata
  • Required/optional fields clearly marked
  • Choice dropdowns with predefined values and descriptions
  • Default values pre-populated automatically
  • Live command preview — updates as you type
  • Visual indicators — teal border for pre-filled values, yellow for user edits
  • Free-text area for additional/undocumented parameters

Command Line

Every panel includes a ===> command input area at the bottom:

  • Execute arbitrary CL commands directly
  • Quick-launch buttons for WRKOBJ, WRKACTJOB, WRKSPLF
  • Use ? prefix/suffix to open the graphical command prompter (e.g., ? CRTLIB or CRTLIB?)

Keyboard Shortcuts

Key Context Action
F3 All panels Exit / go back
F5 PDM Refresh member list
F12 PDM, Prompter, Modals Cancel / close
Enter Option field Execute PDM option
Enter Library/File/Pos field Refresh search
Enter Command input Execute CL command
Up/Down Option columns Navigate between rows
Escape Modal overlays Close modal

Compile Support

The extension uses a two-stage compile strategy:

  1. Code for IBM i Actions — delegates to user-configured compile actions (preferred)
  2. CL Fallback — uses built-in command mapping when no action is available:
Member Type CL Command
RPGLE CRTBNDRPG
SQLRPGLE CRTSQLRPGI (with COMMIT(*NONE))
CLLE / CLP CRTBNDCL
DSPF CRTDSPF
PRTF CRTPRTF
LF CRTLF
PF CRTPF
CMD CRTCMD
SQLPRC / SQLTRIG / SQLPKG CRTSQLPKG

Getting Started

  1. Install Code for IBM i and connect to your IBM i system.
  2. Open the IBM I PDM view from the Activity Bar (left sidebar).
  3. Click a recent filter or use the Command Palette → IBM PDM: Open PDM.
  4. Enter a Library and Source File, press Enter to load members.
  5. Type an option code in the Opz column and press Enter to execute.

You can also right-click a source file in the Code for IBM i Object Browser → Work with Members (PDM).


Requirements

Requirement Version
Visual Studio Code ≥ 1.85.0
Code for IBM i Latest
Active IBM i connection —

Extension Settings

Setting Default Description
ibmiPdm.defaultFile QRPGLESRC Default source file name
ibmiPdm.defaultLibrary (empty) Default library (empty = current library)
ibmiPdm.pageSize 100 Number of members to load per page (10–5000)

Integration with Code for IBM i

  • Object Browser context menu — right-click a source file to open PDM directly
  • Compile actions — delegates to user-configured Code for IBM i actions
  • Member editing — uses code-for-ibmi.openEditable for seamless editor integration
  • Connection — all operations route through the active Code for IBM i connection

Development

npm install
npm run compile
# Press F5 to launch the Extension Development Host

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft