VS-Code for IBM i missing the Compile Option?

The missing Compile option (typically accessed via Ctrl+E, right-click > Run Action, or the Command Palette) in the Code for IBM i extension for Visual Studio Code when working with RPGLE programs usually stems from configuration, connection, or context issues.

VS-Code for IBM i missing the Compile Option? 1

Let's look at the specific reasons why this happens for RPGLE files and provide actionable steps to restore the compile option, focusing on the most common issues I've faced.

#1 No Active IBM i Connection

This is my most common offender!

The compile option requires an active SSH connection to an IBM i system to execute commands like CRTRPGMOD or CRTBNDRPG. If VS Code isn’t connected, the Run Action (including Compile) won’t appear in the context menu or via Ctrl+E.

File Not Recognized as an RPGLE Source

The file must be an RPGLE source member (e.g., in a source physical file like QRPGLESRC) or an IFS stream file (e.g., /home/user/myfile.rpgle). Local files (not synced to IBM i) or files opened outside the IBM i Library/IFS views won’t trigger the compile option.

Missing or Misconfigured Compile Actions

The Code for IBM i extension relies on predefined or user-configured compile commands in ibmi compile settings the .vscode folder is called actions.json

If the RPGLE-specific actions (e.g., "Create ILE RPG Module") are missing or misconfigured, the compile option won’t show

It should look something like this:

vscode ibm i compuile actions

Incomplete Extension Setup

The IBM i Languages extension (a dependency) provides RPGLE syntax highlighting and action registration. Without it, compile options may not appear. Outdated versions of Code for IBM i or VS Code can also cause missing features.

Library List or Permissions Issues

The compile command uses the user’s library list. If required libraries (e.g., for SQLRPGLE or service programs) are missing, the compile option might seem unavailable due to repeated errors. Insufficient user permissions to run CRTRPGMOD or access source files can disable actions.

SSH or PASE Environment Issues

The IBM i system needs an active SSH server and a properly configured PASE environment (e.g., /QOpenSys/pkgs/bin in PATH) for compile commands to work. If SSH isn’t running or the environment is misconfigured, the extension can’t execute compiles.

Let's look at some missing COMPILE problems:

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>