IBM Z® Open Editor
IBM Z Open Editor is an extension for Visual Studio Code that provides language support for the IBM® Enterprise COBOL, PL/I, and JCL languages.
This extension provides language support for the IBM Enterprise COBOL 6.2 and PL/I 5.2 programming languages for z/OS®. This also includes capabilities for embedded statements for CICS 5.5, IMS 15.1.0 and SQL DB2 for z/OS 12.1. Earlier versions of any of these components will also work.
IBM Z Open Editor realizes its language support by implementing fully functional language servers together with additional editor enhancements that enable mainframe developers to utilize features such as:
For the Job Control Language (JCL), the extension provides simple syntax highlighting.
To interact with z/OS, we recommend installing the Zowe VS Code Extension. This extension can be used to edit COBOL and PL/I files opened on z/OS MVS™ and USS using the Zowe extension's Data Sets and USS views. It can even run JCL and let you browse job spool files.
Table of contents
Privacy notice for feedback
The IBM Z Open Editor is provided free of charge, but we ask you to provide us feedback via the various means available such as submitting an issue in our GitHub repository, providing review in the VS Code Marketplace as well as keeping the built-in telemetry and crash reports enabled.
This editor uses Microsoft VS Code's Telemetry solution that collects telemetry data, which is used to help understand how to improve the product. While we appreciate the insights this data provides, we also know that not everyone wants to send usage data and you can disable telemetry as described in Disable Telemetry Reporting. You can also read IBM's General Privacy Statement to learn more about our policies.
This current release of IBM Z Open Editor will collect anonymous data for the following events:
Each such event is logged with the following information:
Here are the prerequisites for installing this extension in Visual Studio Code:
If you are looking for some COBOL, PL/I, or JCL code that you can use to explore the editor features then you can use samples that we maintain on Github. Assuming that you have Git installed, create a work directory somewhere on your machine and clone the sample repository:
Then once you finished installing the IBM Z® Open Editor extension open the directory
The COBOL and PL/I language servers utilized by IBM Z Open Editor were implemented using the Java programming language. Therefore, a Java Runtime is required to be available in the program path to start in VS Code. The IBM Z Open Editor extension utilizes VS Code Settings properties, which can be added to VS Code workspace or user settings, to configure which and how Java should be used. These settings allow you to select the specific installation of Java to pick, in case you have several installations, as well as set parameters such as how much memory you want the extension to use. You can make the settings by editing the
Selecting the Java installation to use
The language server clients running in the IBM Z Open Editor VS Code extension try looking in different places to find a matching Java. By default, it looks for Java using the
To fix the problem, either provide the missing value or define a Settings entry in your VS Code user or workspace settings. The setting always has precedence over the other two options described above. In other words, it tries to use that Java installation first. This allows you to specify a different Java for IBM Z Open Editor other than the default of your computer.
The configuration for the alternative
Configuring the Java memory allocation
By default, the language server clients that start the language servers for COBOL or PL/I allocate a maximum of 512 MB of memory for each. In other words, they start using much less memory in the beginning, but you might run out of memory when working on large program files; or your computer might not support such a large amount of memory in the first place. To have more flexibility in how much memory the language servers are allowed to allocate, the following VS Code Setting is provided to specify the maximum value. When you use both COBOL and PL/I, you need to double the amount specified.
COBOL and PL/I Language Server Protocol capability examples
Outline view explorer
You can use this view to:
Outline view search
Searching for identifiers within the outline by pressing
To see the working storage definition or DCL definition and the parent group of a variable or a paragraph name, move your mouse cursor over to the variable or paragraph name.
Click on a variable or a paragraph name, right-click for menu, and choose
Preview copybooks and include files
To preview the contents of a copybook or included file, move your mouse cursor over the copybook name in a
Select a variable or a paragraph name, right-click for menu, and choose
Code and variable completion
When you start typing a command, a selection list of commands and code snippets are displayed automatically or by typing
Summary of keyboard shortcuts