Development and Pipeline

Development and Pipeline

Development and Pipeline

Connecting mainframe application developers to discuss efficiently creating and maintaining z/OS applications

 View Only

Select/Start - IBM Developer for z/OS on Eclipse and VS Code, part 2-1

By Chris Sayles posted 6 hours ago

  

Welcome back to the Select/Start series, where we compare two flavors of IBM Developer for z/OS: Eclipse-based and VS Code-based. In the last entry, we introduced the series and talked a little bit about what both development platforms offer, how they work, and what they do for the end-user. In this installment (which is actually a two-parter), I want to discuss some common ground upon which the developer experience can be built. While there are differences in the user experience (which, conveniently, is the topic for the next installment), these two, very different platforms have more commonalities than you’d think. This is, well, nice. It makes choosing a workbench a little less daunting. You could think of this as a choose-your-own-adventure scenario: you decide where your journey will take you, understanding that you can stop at many of the same places along the way.

In part one of this blog, I’ll be breaking down the commonalities in to sections based on a common theme. Let’s have a look at the commonalities:

Navigation

Knowing the lay of the land when it comes to your development workbench can be the difference between a fluid, intuitive experience and a clunky, miserable experience. Luckily, both workbenches have navigation-related functionality that moves the needle toward the former in a meaningful way.

Customizable User Interface (UI)

The UI can be customized based on user preference in either platform.​ In IDz Eclipse, this includes moving and resizing views, changing colorization, and more.​ In VS Code, this includes similar actions, with a bonus drop of downloadable themes from the VS Code marketplace.​ That gives the user the ability to make the workbench their own, which can be a big factor in satisfaction and productivity according to some sources. Both include Git integration and Configuration as Code, and IDz on VS Code is very light-weight, which makes install and setup (read: customization) fairly simple.

Outline View

The outline view is present in both IDEs, giving quick access to the entire program via hyperlinks to program structures. If you are new to GUI (Graphical User Interface) development, this type of “view”, or tabbed and resizable window, gives users the ability to navigate around in code very efficiently.

Colorized Source
Colorization of source is included in
IDz on Eclipse and IDz on VS Code. As an educator, if there’s one question that comes up just about every class I conduct, it is: “does this product use color indicators in source like my old environment does?” Short answer: yes. Long answer: IDz both on Eclipse and VS Code provide a similar color-indication standard around code as, for example, ISPF. The colorization may not be exactly the same, but it is as close a facsimile as possible.

Remote Systems Explorer

The paramount feature that is a requirement for z/OS development using a GUI workbench is access to remote source, specifically connecting to a mainframe and the LPAR (Logical Partition) on which your source lives. Luckily, both IDZ on Eclipse and on VS Code have solutions for this. IDz on Eclipse has a view that is available out-of-the-box to interface with MVS host systems.​ IDz on VS Code requires the Zowe Explorer extension, which is available through the VS Code Marketplace and therefore could be considered “out of the box” as well. 

Sort By Last Modified

A frequently used organizational operation when using ISPF for mainframe development is “sort by last modified”. This allows mainframe PDS library members to be sorted by the timestamp of the last modification to the code. IDz on Eclipse provides this in the Remote Systems Details view. There is not a one-to-one equivalency in IDz on VS Code. Instead, IDz on VS Code offers the z/OS Resources Table that allows resources to be sorted within column headers, including a “Last Referenced” column.

Remote Connection Emulator

One uneffable fact about mainframe development is this: at this point in history and the foreseeable future, there will be a need for interaction with ISPF to some capacity in order to complete development tasks. In an ideal world, there would be Eclipse plug-ins/VS Code extensions made available for every home-grown ISPF utility or panel and there would be no need to hop over to an emulator product to interface with ISPF. However, we’re not there yet. So until that day, it is very important that an open and modern workbech be able to provide access to ISPF via some sort of emulator. IDz on Eclipse and IDz on VS Code both have Remote Connection Emulator functionality, giving developers the ability to log on to TSO/ISPF and utilize custom ISPF dialogs that may be critical to their shop’s specific development practices and life cycle.

Code Editing

Language Support

As stated before, modern development workbenches have sort of unspoken standards when it comes to what functionality is expected from them. If the tool is new and powerful, it should have x y and z, right?. Language support usually falls in to that category, and as you’d expect, both workbenches include it. COBOL, JCL, PL/I, REXX, Assembler, HTML, Java are all supported in both IDEs. IDz on Eclipse and VS Code include feature-rich code editors that have many equivalent functions, such as numbering support, search, quick-fix, and others. Because both share the exact same code that parses, generates syntax errors, outline views, and more, switching between them creates a common experience.

Code Completion

Whether you view it as one of the most positivly impactful technological advancements of the modern age or a complete and utter hinderance (to keep this safe for work), auto-complete has made texting, surfing the web, and even development much simpler. Code completion is present in both IDz platforms. This frees up developer cycles from having to remember long, non-common-sense names of program structures or data elements.

Graphical Editing

Both platforms have access to and enable a “graphical editing” experience, putting modern tools in the hands of developers. Features like collapsible/expandable code, code highlighting, expanded mouse-driven development features like highlight and drag, context menu functionality, and more.​ And another bonus drop: IDz on VS Code has multi-cursor editing available, which allows for more data to be touched and manipulated concurrently. Check out the documentation to learn more about this feature.

Copybook Editing and Browsing Support

While editing actual application source code is one of the top areas of focus for development workbenches, developing on z/OS requires touching more than just the base application code. Being able to manipulate and visually reference COBOL copybooks is a key part of the any developer’s process. Luckily, both platforms include functionality to allow developers to quickly locate and access copybooks, as well as notify if those resources are not available. ​Both IDEs also support copybook and include browsing inside the editor without the need to open/navigate away from source code.

Language-specific features

IDz on Eclipse and on VS Code both have various mainframe language-specific features such as the ability to unnumber and renumber sequence numbers, expanding copybooks within a program, and editing of double-byte characters. Many of these features are available not only for COBOL, but for PL/I, JCL, REXX, and HLASM.

In part two of this blog, I’ll be discussing more about code analysis tasks and integration with different technologies, like debug and build tools. If you have questions about anything you’ve seen in this blog, please feel free to leave a comment, it would be great to hear from you.

0 comments
8 views

Permalink