IBM Z® Open Editor is an extension for Visual Studio Code that provides language support for the IBM® Enterprise COBOL 6.3, PL/I 5.3, and High Level Assembler for z/OS 2.4 programming languages for z/OS®. This also includes capabilities for embedded statements for CICS 5.6, IMS 15.1.0 and SQL DB2 for z/OS 12.1. Earlier versions of any of these components will also work.
The extension realizes its language support by implementing fully functional language servers together with additional editor enhancements that enable mainframe developers to utilize features such as:
- Real-time syntax checking and highlighting while you type
- Problems view with all syntax errors and (in COBOL) unreachable code
- Outline view and outline search
- For both variables and paragraphs:
- Declaration hovers
- Peek definition
- Go to definition
- Find all references
- Code and variable completion
- Finding and navigating references
- Previewing of copybooks and include files
- Navigate to copybooks and include files
- Refactoring such as "rename symbol"
- Custom code snippet support and more than 200 example code snippets out of the box
- Search and replace refactoring across multiple program files
- For HLASM, a significant subset of the capabilities that are available for COBOL and PL/I are supported.
- For Job Control Language (JCL), IBM Z Open Editor provides syntax highlighting.
For a list of the enabled LSP features and in-progress features, see Known issues and limitations.
New with IBM Z Open Editor 0.4.7 or later: IBM Remote System Explorer API support.
# Key Capabilities
These are the key features and benefits of IBM Z Open Editor:
Modern editing experience for COBOL, PL/I, and HLASM development
IBM Z Open Editor is available as an extension for Visual Studio Code (VS Code), which is becoming the most popular development environment according to recent surveys. With so many current and next generation developers having experience with VS Code, IBM Enterprise language support in VS Code makes enterprise programming more attractive and productive by allowing developers to use this popular editor, with the option to integrate numerous other extensions from the VS Code Marketplace.
Full language support via the Language Server Protocol (LSP)
The extension supports many COBOL, PL/I, and HLASM capabilities that were not available in traditional editing environments such as ISPF, by providing Language Server Protocol implementations. See above for the list of key features. Although supported by many other editors now, the Language Server Protocol was specifically created for VS Code and therefore is a good way for providing language support in the editor.
Extended language server capabilities for more productivity
In addition to the capabilities specified in the Language Server Protocol, the implementation is extended with more capabilities that are useful to enterprise developers. For example, you can use hovers for COBOL
%INCLUDE, and HLASM
COPYstatements to preview the contents of the copybooks without opening in separate editor tabs and navigating away from your current editing position.
Integration with modern Software Configuration Management (SCM)
Even if your organization does not standardize on an SCM, using the Git that is integrated in VS Code or using popular extensions such as GitLens locally in a workspace will boost your productivity. You can work on COBOL, PL/I, and HLASM programs on your local workspace and snapshot work at any point, go back or branch into alternative explorations, merge your or your colleagues' branches back in, or revert to any earlier state of your code in a flash. Use side-by-side views and "blame" annotations to explore the changes between snapshots, how they looked before, and the time of changes. See exactly for each line when it was last changed and by whom. Explore the entire history of all changes for a specific file or all files in your workspace in a chronological history viewer.
z/OS interactions using the open source Zowe clients
If you have z/OSMF or IBM Remote System Explorer API (RSE API) configured, you can use Zowe CLI, the Zowe Explorer VS Code Extension (Zowe Explorer), or both, to load and edit your files directly from z/OS or download them into your local workspace and then upload the changed files into the same or new data sets to compile and run your application. You can do all of these operations from IBM Z Open Editor directly with right-clicks and dialog interactions, and perform command-line operations using the VS Code Terminal view that integrates right below your editor, giving you one central view to everything.
After configuration, IBM Z Open Editor can also take advantage of the Zowe CLI protocol for resolving dependencies over the network. For example, you can edit your COBOL programs locally, but resolve copybook dependencies directly out of MVS™ using the same Zowe connections.