Introduction

IBM Z® Open Editor is an extension for Visual Studio Code that provides language support for the IBM® Enterprise COBOL 6.4open in new window, PL/I 6.1open in new window, High Level Assembler for z/OS 3.1open in new window, z/OS TSO/E REXXopen in new window, and z/OS MVS JCL (Job Control Language)open in new window programming languages for z/OS®. This also includes capabilities for embedded statements for CICS 6.2, 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 serversopen in new window 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 a detailed list of the enabled LSP features and in-progress features, see Known issues and limitations.

Key Capabilities

These are the key features and benefits of IBM Z Open Editor:

  • Modern editing experience for COBOL, PL/I, HLASM, REXX, and JCL development

    IBM Z Open Editor is available as an extension for Visual Studio Code (VS Code), which is 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, HLASM, REXX, and JCL capabilities that were not available in traditional editing environments such as ISPFopen in new window, by providing Language Server Protocolopen in new window 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 COPY, PL/I %INCLUDE, and HLASM COPY statements 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 GitLensopen in new window locally in a workspace will boost your productivity. You can work on COBOL, PL/I, HLASM, REXX, and JCL 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 CLIopen in new window, the Zowe Explorer VS Code Extension (Zowe Explorer)open in new window, 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.

  • IBM User Build

    IBM User Build allows z/OS developers who have the IBM Dependency Based Build (DBB) v2 and v3 host component to run user builds right from their local integrated development environment (IDE). With the User Build setting enabled in your IDE, you can access IBM User Build options simply by right-clicking inside a COBOL, PL/I, or HLASM file. Refer to the full IBM User Build documentationopen in new window to learn more about how to leverage User Build.

  • Enterprise-level advanced capabilities

    IBM Z Open Editor v4 introduced advanced capabilities for enterprise-level development use cases that go beyond programming and simple z/OS Resources access. You would typically find such features in IBM's commercial zDevOps solutions such as IBM Developer for z/OS Enterprise Edition (IDzEE). These are at the moment preprocessor support for COBOL, a new Web view built on top of Zowe Explorer that displays z/OS resources such as data sets, unix files and jobs in a sortable table, custom HLASM macro support and a new DBB user build VS Code Problems view integration. Find a detailed exploration of these features in the Advanced Capabilities section.

Last Updated:
Contributors: Peter Haumer, Shi Kun Li, Min Huang, Lauren Li, Greg Lambert, Lauren Li, Peter Haumer, KRISTINA MAYO, PETER HAUMER, Saile Daimwood, Billie Simmons, Ethan Mendel, Evann Wu, Hestia Zhang, Lauren K. Li, Prasang Prajapati, Prasang-A-Prajapati, PrasangAPrajapati, kmaselli