Zowe Embraces Visual Studio Code Extensions
{Core} The Linux Foundation’s Open Mainframe Project Zowe has extended the Zowe Conformance Program to include Visual Studio Code extensions! This is great news for Zowe consumers, mainframers and for Visual Studio Code enthusiasts. The 2021 Stack Overflow Developer Survey confirmed that Visual Studio Code has a “significant lead as the IDE of choice across all developers” — at 71%, more than 4 times greater than Eclipse (16%). It should come as no surprise this has led to the emergence of numerous mainframe VS Code Extensions. And now Zowe has a means to officially embrace them. The new Zowe Explorer for Visual Studio Code conformance program ensures that VS Code users will get a superior, integrated experience with extensions designed to interact with and amplify the value of Zowe Explorer. Instead of hoping their choice of VS Code extension “plays well” with Zowe, users simply need to look for the Zowe Explorer for Visual Studio Code conformance badge.
Similar to the existing Zowe V1 extender conformance programs like Zowe CLI and Zowe App Framework, the Zowe Explorer for Visual Studio Code program requires conformant extensions to satisfy a list of requirements. Together these confirm Zowe baseline functionality, interoperability and a consistent user experience with each Zowe release introduced within a given Long Term Support (LTS) version. All the considerations and testing criteria were developed by the Zowe Community with oversight from the Open Mainframe Project.
Explorer Basics
Since its introduction in the marketplace, Zowe Explorer downloads have steadily and continuously increased to a skyrocketing 44k with as many as 6k in a single month. But what exactly is Zowe Explorer? Simply defined, it is a Visual Studio Code extension whose primary function is to provide users with the ability to perform traditional mainframe actions from a single user interface with all the modern capabilities offered by the Visual Studio Code platform. The actions are interactive and offer capabilities focused on:
- z/OS data sets in various formats (i.e. PDS, PDS/E, Flat files FB or VB)
- Unix Systems Services (USS) files
- z/OS Jobs
A major advantage of the off-host presentation of these capabilities is the ability for users to connect into any and all mainframe systems (LPARs) with a click of the mouse. This may seem trivial, however, unlike traditional mainframe user interfaces, provided a user has the proper authority, Zowe Explorer gives users the ability to perform any of these actions on any mainframe system from a single VS Code workspace. This is particularly valuable for Systems Programmers tasked with managing and maintaining multiple LPARs or Developers needing to perform work on both DEV and PROD LPARs. No need to exit one session and enter another. All work can be performed from one VS Code window.
Although “Visual Studio Code” is not officially part of this Zowe component’s name, it is understood as the de facto Zowe integrated development environment (IDE); but won’t necessarily be the only Zowe IDE. With the pending onboarding of the IntelliJ incubator project, it is likely that a Zowe Explorer for IntelliJ — the platform that includes IDEs like IntelliJ, PyCharm, and Webstorm — with matching mainframe actions and capabilities is not too far behind. This offers developers the option to choose a preferred IDE when integrating mainframe functions in with their mobile, cloud, and distributed work.
Why Zowe Explorer Extensions
With the growing popularity of VS Code, many Vendors have introduced Visual Studio Code extensions for a variety of mainframe product-centric activities. Until now, none could earn the Zowe stamp of approval in the form of a conformance badge. The introduction of this program gives Vendors the ability to earn and showcase their V1 Conformant Zowe Explorer for VS Code extension badge. They do so by ensuring their specific Visual Studio Code extension satisfies the associated program criteria which, by section, assures extensions:
- General: Satisfy all of the general extension requirements such as naming, user settings, and error message formats when adding any new capability
- Profiles: Leverage the Zowe client profile configuration to ensure consistency in host connectivity, security, and credentials management
- Data Provider: Serve as a data-provider that enables access to z/OS in a consistent manner to offer Zowe Explorer capabilities
- Menu Extensions: Add menu options and/or commands to VS Code that utilize Zowe Explorer data or extend Zowe Explorer capabilities
To earn Zowe V1 conformance, at a minimum, applicants must satisfy all of the test evaluation criteria marked as required in the GENERAL EXTENSION section of the conformance test evaluation form. Beyond that, extensions that use any of the Zowe Explorer extensibility APIs ranging from accessing Zowe profiles to serving as data providers to expanding VS Code menus, must also satisfy all of the criteria marked as “required” in those sections of the form.
Applying for Conformance
Extenders interested in applying for Zowe Explorer for Visual Studio Code V1 conformance can navigate to the Zowe conformance program site directly or can click on the EXTEND tab from zowe.org to visit zowe.org/extend . From there simply review the program terms and conditions, view the Zowe Explorer for Visual Studio Code test evaluation criteria in the test evaluation guide and submit the signed participation form. The application is free to Open Mainframe Project members, fees apply to all others. Provided there are no findings, typical turnaround is one week. Applicants with questions can reach the Zowe Explorer squad members directly on slack or may join one of their weekly scrum meetings advertised on the Zowe calendar for help and assistance.
Value For Extenders and Consumers
As with all Zowe Conformance programs, this program serves as a means for conformant Zowe extenders to proudly display the conformance badge alongside their offering. For consumers? A means to quickly and easily determine whether or not the Visual Studio Code extension they decide to add to their workspace will not only function with their current release of Zowe, it will integrate with all of the Zowe client components, including Zowe Explorer and Zowe CLI in a manner that ensures the value-add is greater than the sum of the individual parts. Roughly translated, the next time you go shopping (via the Visual Studio Code Marketplace) — keep an eye out for extensions proudly displaying the Zowe Explorer for Visual Studio Code V1 conformance badge as they emerge!
If you enjoyed this blog checkout more Zowe blogs here. Or, ask a question and join the conversation on the Open Mainframe Project Slack Channel #Zowe-dev, #Zowe-user or #Zowe-onboarding. If this is your first time using the OMP slack channel register here.
Special thanks to Michael Bauer and Michael DuBois