Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>IBM Project4iNew to Visual Studio Code? Get it now.
IBM Project4i

IBM Project4i

Giuseppe Di Bari

|
2 installs
| (0) | Free
Organize IBM i source members from multiple libraries into project groups
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IBM Project4i

IBM Project4i

Logical Project Management for IBM i
Organize source members and IFS stream files from multiple libraries into cohesive, team-friendly project groups — directly inside VS Code.

Version Installs License IBM i


Why IBM Project4i?

Traditional IBM i development ties application logic to physical library structures. IBM Project4i introduces a logical project layer on top of Code for IBM i, letting you:

  • Group related sources from any library into a single project view.
  • Track the original location of each member (audit trail).
  • Run customizable CL commands for checkout, deploy, and release.
  • Attach documentation (URLs, PDF, Word, Excel) directly to the project.
  • Import / Export project definitions as JSON to share with your team.

Think of it as a lightweight, IBM i–native SCM bridge — built for developers who live in VS Code.


Table of Contents

  • Features
  • Getting Started
  • Project Management
  • Extension Commands
  • Project Structure
  • Extension Settings
  • Development
  • Known Issues
  • Release Notes

Features

Area Capability
Project Tree View Dedicated Activity Bar panel with rich icons — projects (purple), members (color-coded by type), stream files (yellow), documentation (blue).
Hybrid Content Mix native source members (QSYS) and IFS stream files in the same project.
Documentation Hub Virtual "📚 Documentation" folder per project — add external URLs and local files (PDF, Word, Excel).
Add to Project Smart checkout: copies a member from a source library to the project's workspace library, with conflict detection.
Remove from Project Logical removal with optional physical delete (RMVM).
Promote Member Deploy a single member using a fully customizable CL command template.
Promote All Members Batch deploy all project members sequentially, with Run / Skip / Run All / Cancel All controls.
Move Member Atomic move of a member between two projects, with pre-flight validation.
Run Action Proxy to Code for IBM i's action system — compile, bind, etc. directly from the project tree.
Run Project Action Execute project-specific custom CL actions with variable substitution.
CL Interactive Prompting Prefix any command with ? to open a visual CL parameter form before execution.
Import / Export Share project definitions via JSON files.
VS Code Theming Full support for Dark and Light themes with custom SVG icons.

Getting Started

Prerequisites

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

Quick Start (5 minutes)

  1. Install the extension from the VS Code Marketplace.
  2. Connect to your IBM i system via Code for IBM i.
  3. Create a project — click the + button in the IBM Project4i Activity Bar.
  4. Add a member — right-click a source member in the Object Browser → "Add to Project".
  5. Configure deploy — open project Properties (⚙️) and set the Promote Command template.

That's it. You now have a fully functioning project workspace.


Project Management

  • Rename: Right-click on a project → "Rename Project"
  • Delete: Right-click on a project → "Delete Project"
  • Remove Member: Right-click on a member → "Remove from Project"

Import/Export

  • Export: Click the menu (⋯) in the view title → "Export Projects to JSON"
  • Import: Click the menu (⋯) in the view title → "Import Projects from JSON"

Extension Commands

Command Description
IBM Project4i: Create Project Create a new project
IBM Project4i: Rename Project Rename an existing project
IBM Project4i: Delete Project Delete a project
IBM Project4i: Properties Open project properties / promote configuration
IBM Project4i: Add to Project Add a source member (Object Browser) or IFS stream file (IFS Browser) to a project
IBM Project4i: Remove from Project Remove a member or stream file from a project
IBM Project4i: Open Member Open a source member in the editor
IBM Project4i: Open Stream File Open an IFS stream file in the editor
IBM Project4i: Move to Project... Move a member from the current project to another
IBM Project4i: Promote Member Deploy a single member using the project's promote command template
IBM Project4i: Promote All Members Batch deploy all project members sequentially
IBM Project4i: Run Action Proxy to Code for IBM i's action system (compile, bind, etc.)
IBM Project4i: Run Project Action... Execute a project-specific custom CL action with variable substitution
IBM Project4i: Add Documentation... Add a URL or local file to the project's Documentation folder
IBM Project4i: Edit... Edit a documentation entry
IBM Project4i: Remove Remove a documentation entry
IBM Project4i: Open Open a documentation entry
IBM Project4i: Manage Default Settings Configure global defaults applied to all new projects
IBM Project4i: Export Projects to JSON Export all projects to a JSON file
IBM Project4i: Import Projects from JSON Import projects from a JSON file
IBM Project4i: Refresh Projects Refresh the projects view

Project Structure

Projects are stored in VS Code's global state and persist across sessions. Each project contains:

Field Description
Name Display name of the project
Description Optional description
Target Library IBM i library where members are physically copied during "Add to Project"
Members List of source members with library, source file, name, extension, add date, and original location
Stream Files IFS stream file paths referenced by the project (no physical copy)
Documentation Attached URLs and local file references (PDF, Word, Excel, etc.)
Promote Config Test/production library settings, promote command template, checkout/release command overrides, ticket reason, developer info
Custom Actions Project-specific CL command templates with variable substitution
Created / Modified dates ISO timestamps for auditing

Extension Settings

Settings are under project4i.* in VS Code settings (File → Preferences → Settings → IBM Project4i).

Setting Description
project4i.defaults.testLibraryObject Default test object library for new projects
project4i.defaults.testLibrarySource Default test source library for new projects
project4i.defaults.testFileSource Default test source file for new projects
project4i.defaults.prodLibraryObject Default production object library for new projects
project4i.defaults.prodLibrarySource Default production source library for new projects
project4i.defaults.prodFileSource Default production source file for new projects
project4i.defaults.developerMail Default developer email for new projects
project4i.defaults.promoteCommand Default promote command template (supports variable placeholders)
project4i.defaultProjectActions Default list of custom CL actions seeded into every new project

Available variables in command templates: &OBJECT_NAME, &MEMBER_TYPE / &TYPE, &TEST_LIB_OBJ, &TEST_LIB_SRC, &TEST_FILE_SRC, &PROD_LIB_OBJ, &PROD_LIB_SRC, &PROD_FILE_SRC, &TICKET_REASON, &DEVELOPER_USER, &DEVELOPER_MAIL

Tip: Prefix any command with ? to open the interactive CL parameter prompter before execution.

Development

Building the Extension

npm install
npm run compile

Running in Development

Press F5 to launch the Extension Development Host with the extension loaded.

Watch Mode

npm run watch

Known Issues

  • Members must be added one at a time (batch add not yet supported)
  • Project sorting is alphabetical only

Release Notes

0.0.5

  • README aggiornato con documentazione completa (comandi, impostazioni, struttura progetto)
  • Correzione packaging VSIX su ambienti con group policy restrittiva

0.0.4

  • Promote All Members with Run / Skip / Run All / Cancel All controls
  • Move Member between projects with pre-flight validation
  • Run Project Action with project-specific custom CL actions
  • CL Interactive Prompting: prefix any command with ? for a visual parameter form
  • Custom checkout (addToProjectCommand) and release (removeFromProjectCommand) command overrides
  • Manage Default Settings panel for global project defaults

0.0.3

  • IFS stream file support: add/open/remove stream files from the IFS Browser
  • Documentation Hub: attach URLs and local files (PDF, Word, Excel) to each project
  • Tree decoration provider for richer icon coloring

0.0.2

  • Promote Member with configurable CL command template and variable substitution
  • Project Properties panel (test/production library configuration, developer info)
  • Run Action proxy to Code for IBM i's compile/bind action system

0.0.1

Initial release:

  • Create, rename, and delete logical projects
  • Add/remove source members to projects
  • Context menu integration with Code for IBM i Object Browser
  • Import/export projects as JSON

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Acknowledgments

This extension is designed to work alongside the excellent Code for IBM i extension by the Code for i team.

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