VSCode commands
The WaRPGate extension adds 11 commands to the command palette (Ctrl+Shift+P / F1), all prefixed with WaRPGate:. This page shows a real example of each, with screenshots.
WaRPGate: Validate File
Runs the compiler in validation mode on the active .warp file: checks syntax and semantics (types, references, undeclared variables, etc.) without generating any file. Errors and warnings show up in the “WaRPGate” output channel.
Example: a Program that assigns an undeclared variable.
@Source {
&CodigoCliente = &Inexistente
}
WaRPGate: Generate
Runs the full compiler on the active file: validates and, if there are no errors, generates the RPGLE/DDS/CL files locally (nothing is deployed to IBM i). It’s the equivalent of the CLI’s --action generate.
WaRPGate: Build & Deploy
Generates just like the previous command and additionally uploads the files to the IBM i configured in the .warpcfg’s @Connection, to compile them there (CRTPF/CRTLF/CRTBNDRPG/CRTDSPF). Since this connects to a real system, it always asks for confirmation before continuing.
WaRPGate: Select Project File (.warproj)
When the workspace has more than one .warproj, this command picks which one to use for validating/generating/deploying. The chosen project is remembered for the other commands.
WaRPGate: Reverse Engineer DDS…
Reconstructs a table .warp file from a DDS member that already exists on IBM i. It asks, in order: the QSYS.LIB path of the table’s DDS member, the index (LF) DDS members to include in @Indexes (optional), and the name of the .warp file to generate. At the end it confirms before connecting.
WaRPGate: Preview Layout
Shows the active file’s @Layout as an IBM i 5250 terminal screen (see IntelliSense in VSCode). If the Screen uses Popup: True, the preview draws the window at its real position and size within the full screen.
Example: a popup Screen with a 3-column DataGridView.
WaRPGate: Select Active Profile (@Profile)
Available from the command palette and from the editor’s context menu on a .warp file. Opens a picker with the profiles (@Profile) declared in the active project’s .warpcfg, plus the “Use project default” option. The choice is remembered for that project (persists across VSCode restarts) and is reflected in its own status bar item (layers icon), which also opens the same picker with a click.
Without an explicit choice, the extension doesn’t send --profile to the compiler and the CLI falls back to the Default Profile declared in @Project — see Project file.
WaRPGate: Select Layout Block
When a Program (report) has more than one Block in its @Layout, this command picks which one to show in the Layout Preview — the preview always shows a single Block at a time.
WaRPGate: Request License
Asks for the name or company the license will be issued to, opens a dialog to save the request.json file, and runs --action license-request. When done, it shows the machine identifier with the Copy Machine ID (copies the identifier to the clipboard) and Reveal File (opens the file’s location in the system file explorer) buttons. Send the request.json and the machine identifier to warpgate@softwarehouse.pe.
WaRPGate: Install License
Opens a picker to choose the license.json received from Software House. It checks that the file is a license (if it is the request file or not valid JSON, it shows an error) and copies it to the path the compiler reads: %APPDATA%\warpgate\license.json on Windows, ~/.config/warpgate/license.json on Linux/macOS. If WARPGATE_LICENSE_FILE is set, that path is used.
If a license already exists at that path, it asks for confirmation before replacing it: the previous one stops being valid. When done it offers the Check Status button.
WaRPGate: License Status
Runs --action license-status and shows the license status, its expiry and the product. If warpgate.projectFile is configured, it uses that project’s @License (and the active profile, if one is selected); otherwise it checks the individual license at the default path. The full detail goes to the “WaRPGate” output channel.
For the complete request and install flow, see Licensing.
Compiler message language
The warpgate.language setting (auto | es | en, default auto) sets the language of the diagnostics shown by the compiler. The extension passes it as --lang in every compiler call. With auto, the VSCode language is used: Spanish if it starts with es, English otherwise.
This setting only affects compiler messages; it does not change the extension’s menus or hovers. See also Diagnostics.