Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>IBMi LanguagesNew to Visual Studio Code? Get it now.

IBMi Languages

barrettotte

|
20,438 installs
| (6) | Free
Syntax highlighting for IBM i languages such as RPG, CL, DDS, MI, and RPGLE fixed/free.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

vscode-ibmi-languages

Somewhat decent syntax highlighting for IBMi languages such as RPG, CL, DDS, MI, and RPGLE fixed/free.

Please consider downloading code-for-ibmi to edit RPG, RPGLE, and CL directly in VS Code!

Pretty much all I did was crawl through various IBM documentation on my lunch breaks and throw some regular expressions in here when I got the chance. The regex I made probably isn't too efficient and it does mess up sometimes, but I think it works for like 90% of cases I've come across.

By all means, I probably got a couple things wrong; submit a pull request or issue if you see something please! (That goes for anything in here)

Contributors

  • @barrettotte
  • @worksofliam
  • @chrjorgensen

Features

  • Syntax highlighting for RPG III and RPG/400 - H,F,E,L,I,C,O specs
  • Syntax highlighting for Control Language (CL)
  • Syntax highlighting for Command Definition (CMD)
  • Syntax highlighting for UIM Panel Group (PNLGRP)
  • Syntax highlighting for DDS files - physical, logical, display, printer, and ICF
  • Syntax highlighting for some Machine Interface (MI) - see below
  • Syntax highlighting for RPGLE fixed - H,F,D,I,C,O,P specs
  • Syntax highlighting for RPGLE free
  • Syntax highlighting for embedded SQL in SQLRPG and SQLRPGLE
  • Support for a mix of RPGLE free and fixed format
  • Support for binder language
  • Support for DB2 SQL keywords in embedded SQL

RPGLE syntax last updated to Fall 2022

File Types (case insensitive)

For each source type, I lumped legacy(system/38) source types together with the regular source types.

Extension(s) Description
.cl, .clp, .clp38 .clle Control Language (CL)
.cmd Command Definition (CMD)
.pnlgrp UIM Panel Group (PNLGRP)
.dspf, .dspf38 DDS Display file
.icff DDS ICF file
.lf, .lf38 DDS Logical file
.pf, .pf38, .dds DDS Physical file
.prtf, .prtf38 DDS Printer file
.rpg, .rpg38, .sqlrpg RPG/400
.rpgle, .sqlrpgle RPGLE and SQLRPGLE
.bnd Binder Language
.mi Machine Interface (MI)

Screenshots

See screenshots/ for more examples of syntax highlighting.

RPG/400

RPG/400

RPGLE Fixed Format

RPGLE Fixed

RPGLE Free Format

RPGLE Free

RPGLE Free with Embedded SQL

SQLRPGLE

Control Language (CL)

CL

Command (CMD)

CL

UIM Panel Group (PNLGRP)

CL

Data Description Specification - Physical File (DDS)

PF

Machine Interface (MI)

MI

Publishing

VS Code Marketplace

  • npm install -g vsce
  • vsce package
  • vsce publish -p VSCE_SECRET

OpenVSX

This extension is also deployed to Open VSX

  • npx ovsx publish -p OPEN_VSX_SECRET

Changelog

See CHANGELOG.md

Known Bugs / Future Improvements

See issues.

Featured In

  • https://www.itjungle.com/2020/12/09/vs-code-provides-another-coding-option-for-ibm-i/
  • https://www.anandk.dev/2020/11/VSCode-IBMi-AS400.html
  • https://github.com/halcyon-tech/code-for-ibmi

References

  • Derived from an existing RPG extension
  • Repo used to test older RPG
  • RPG/400
  • RPG II, RPG III, and RPG/400
  • Regex tool
  • VS Code Language extensions
  • Contact us
  • Jobs
  • Privacy
  • Terms of use
  • Trademarks
© 2023 Microsoft