Known issues and limitations
The IBM Z® Open Editor extension has some known issues and limitations. This page provides the status of the current release. Also review the list of open issues and enhancement requests in our Github repository. It might list issues that are not yet documented here.
Java™ 8 64-Bit JRE or SDK required
If the right version of Java™ cannot be found in the current user's path or if no JAVA_HOME environment variable was defined, you might see error messages in the Output view of VS Code. Such errors could also be caused by other reasons such as not enough free memory for Java on your system.
Go through all the steps described in the Getting Started page for configuring Java to try out different options.
Resetting Language Servers or VS Code
It might happen that the language servers provided by IBM Z® Open Editor become inconsistent and do not behave as expected. For example, one language server might stop reporting syntax errors, or it cannot resolve copybooks anymore. Instead of quitting and restarting VS Code completely, you can try pressing the F1 key and type the following commands to reset one or more language servers.
IBM Z Open Editor: Pause the COBOL Language Server: Stops the COBOL language server and restarts it when you open a COBOL file again.IBM Z Open Editor: Pause the PL/I Language Server: Stops the PL/I language server and restarts it when you open a PL/I file again.IBM Z Open Editor: Pause the Assembler Language Server: Stops the HLASM language server and restarts it when you open an HLASM file again.IBM Z Open Editor: Pause the REXX Language Server: Stops the REXX language server and restarts it when you open a REXX file again.IBM Z Open Editor: Reload Zowe™ Profiles: If you have changed the password of your Zowe CLI profile that is used to load your remote include files such as copybooks, you need to run this command to refresh the Zowe profile.Developer: Reload Window: Restarts the current VS Code window and all of its extensions. If you have many editor windows open at the same time, you can use this command to reset just the current window in which you run the command.
Limitations for Visual Studio Code Multi-Root Workspaces
IBM Z Open Editor supports VS Code multi-root workspaces; however, be aware that property groups defining path names for COBOL, PL/I, and HLASM resource dependencies are managed as so-called Window-level VS Code settings. This means that these property groups need to be defined for multi-root workspaces for the entire workspace. Project-level settings will be ignored. If you intend to use a project as part of a workspace as well as independent of the workspace, then you need to have two copies of your property groups in each location. When you work in the workspace, the editor will look for property groups in the .code-workspace file. When you work just in a project directory outside of a workspace, it will look for property groups in the workspace .vscode/settings.json file.
See more details about this limitation in Setting property groups.
ZAPP files currently do not support multi-root workspaces.
Limitations of using Z Open Editor with Eclipse Che and Red Hat CodeReady Workspaces
Almost all capabilities described in this documentation are available when you use IBM Z Open Editor with Eclipse Che or Red Hat CodeReady Workspaces. However, note the following limitations.
Code snippets: Eclipse Theia, Eclipse Che or Red Hat CodeReady Workspaces do not provide a code snippet gallery as VS Code has. Therefore, you cannot easily define your own custom code snippets with the Theia editor. However, the extensive IBM Z Open Editor code snippet library is available via the code completion function using the Ctrl+Space shortcut. Typically, you find the code snippets by scrolling down or typing any substring such as
CICSto filter down the list to the available CICS code snippets.Zowe CLI Secure Credentials are currently not supported with Z Open Editor on CodeReady Workspaces. Although Z Open Editor added full support for the Zowe CLI Secure Credentials Plugin with release 1.1.0, there are still limitations for Eclipse Che and Red Hat CodeReady Workspaces.
Path names specified for property groups are always case-sensitive, even if the setting
"zopeneditor.enforceCaseSensitiveIncludeFileNames"is set tofalse. However, this setting works for the file names that get matched in the folders that match the property groups.See a full list of Red Hat CodeReady Workspaces 2.3 issues in Release Notes® and Known Issues.
Language-specific features and limitations
JCL
There is currently no language server for JCL. When you open JCL files, syntax highlighting is enabled, but no additional language server capabilities are available for these files. The observable limitations include:
No contents are shown in the Outline view.
Ctrl+Space shows code templates, but no syntactical completions.
Many menu options are unavailable.
COBOL
The following lists show the implementation status of the COBOL language server. Use these lists to check that the feature that you are looking for was implemented or is regarded as a known issue. Let us know if you have any additional issues.
Enabled features of COBOL program files
Syntax highlighting
Syntax errors
Document highlighting
Hover
Go to declaration
Find all references in file and across the multiple files
Peek references in file and across the multiple files
Rename symbol in file and across the multiple files
Outline view
Code completion
Snippets
Copybook resolving and copybook hover support
Document link support to open copybook by using Ctrl+Click (Windows) or Cmd+Click (Mac)
Embedded languages support such as SQL, CICS®, and DLI
Renumber and Unnumber sequence numbers
COBOL 6.3 support
New DATETIME functions
UUID4 function
JSON GENERATE/PARSE options
Limitations of COBOL program files
False unreachable code warnings: In some cases, the editor incorrectly reports that code is unreachable in embedded SQL and CICS statements such as
EXEC CICS HANDLE. One such case is reported in this issue. You can use a user setting to disable warnings for unreachable code completely as described in Enabling and disabling unreachable COBOL code warnings.Incomplete support for conditional compilation: Our community has reported various issues when programs contain conditional compilation statements. These types of programs are currently not fully supported.
Enabled features of COBOL copybook files
Syntax errors
Find all references in file
Peek references in file
Rename symbol in file
Outline view
Syntax highlighting
Code completion
Snippets
Embedded languages support such as SQL, CICS, and DLI
Limitations of COBOL copybook files
No support for Hover
No support for Go to declaration
No support for Find all references across the multiple files
No support for Peek references across the multiple files
No support for Rename symbol from a copybook to the files that include it
PL/I
The following lists show the implementation status of the PL/I language server. Use these lists to check that the feature that you are looking for was implemented or is regarded as a known issue. Let us know if you have any additional issues.
Enabled features of PL/I program files
Syntax highlighting
Syntax errors
Document highlighting
Hover
Go to declaration
Find all references in file and across the multiple files
Peek references in file and across the multiple files
Rename symbol in file and across the multiple files
Outline view
Code completion
Include file resolving and include file hover support
Document link support to open include file by using Ctrl+Click (Windows) or Cmd+Click (Mac)
Embedded languages support such as SQL, CICS, and DLI
*process(or%process) compile options statements, such as:*process source MARGINS(2,120);*process SYSTEM(CIS, DB2®);*process LIST TEST;Syntax and other supported compiler options can be found in:
PL/I 5.3 new functions support
NULLINIT
REINIT
REGEX
SUBTO
XMLIGNORE
Limitations of PL/I program files
No support for macros
The left margin is currently not fully configurable. The minimum value required is 2.
Enabled features of PL/I include files
Syntax errors (lexing and parsing)
Find all references in file
Peek references in file
Rename symbol in file
Outline view
Syntax highlighting
Code completion
Embedded languages support such as SQL, CICS, and DLI
Limitations of PL/I include files
No support for showing syntax errors for resolving variables
No support for Hover
No support for Go to declaration
No support for Find all references across the multiple files
No support for Peek references across the multiple files
No support for Rename symbol across the multiple files
HLASM
The following lists show the implementation status of the HLASM language server. Use these lists to check that the feature that you are looking for was implemented or is regarded as a known issue. Let us know if you have any additional issues.
Enabled features of HLASM program files
Syntax highlighting
Syntax errors which also include the following:
Copy statements not resolved
Spaces in continuation line
Document highlighting
Hover on operations and operands
Go to declaration
Find all references in file
Peek references in file
Outline view for macros, CSECTs, and DSECTs
Code completion
Copybook file resolving and copybook file hover support
SYS1.MACLIB Macro remote file resolving and content hover support
Document link support to open copybook file by using Ctrl+Click (Windows) or Cmd+Click (Mac)
Quick fix hints for lines that are too long and spaces in the continuation line
Limitations of HLASM program files
No support for symbols defined in different files
Syntax highlighting limitations on multi-line strings
Syntax highlighting limitations on non-continuation lines that begin at column 16
Syntax highlighting does not recognize continuation lines that begin at column 17 and later as comments
When a CSECT has the same name as the TITLE, the CSECT is not displayed correctly in the Outline view
REXX
The following lists show the implementation status of the REXX language server. Use these lists to check that the feature that you are looking for was implemented or is regarded as a known issue. Let us know if you have any additional issues.
Enabled features of REXX program files
Syntax highlighting
Syntax errors
Hover
Find all references
Outline view
Code completion
Limitations of REXX program files
No include statement support
No support for the 'END' keyword as a variable
No support for embedded languages
Code Completion and Hover do not support keywords that are not keyword instructions
Certain color themes might not highlight all symbols correctly
IBM RSE API Plug-in for Zowe CLI
Known issues and limitations for IBM RSE API Plug-in for Zowe CLI (RSE CLI plug-in)
npm WARN for peer dependencies
When installing RSE CLI plug-in, you may encounter an npm WARN for an unmet peer dependency of Zowe CLI even though you have an accomodating version installed. There is a known bug in the npm version 6 installed along with node 12. Having the warnings will not interfere with the successful installation of the plug-in; however, these warnings can be eliminated by running the command npm install npm@latest -g and obtaining version 7 or higher of npm.
RSE CLI plug-in with ZAPP
When using the
--mappings-filetag to state the location of a mappings file to use for upload and download of MVS™ files, if you state azapp.jsonwith azapp.yamlin the same directory, thezapp.yamlwill take precedence over the JSON file. It is recommended that you have only onezapp.yamlorzapp.jsonfile when using ZAPP files at a project level.
RSE CLI plug-in with Zowe Secure Credential Store plugin
Node 14 is not fully supported by the Zowe Secure Credential Store (SCS) plugin and may cause errors. Node 12 is recommended.
When changing node versions, SCS will have to be uninstalled and then re-installed.
For Mac users with Zowe SCS plug-in, the user will be prompted 2 times for credentials due to 2 secure fields (user and password) within the RSE profile.
RSE CLI plug-in with JSON Web Tokens
Time-sensitive JSON Web Tokens (JWT) will be stored in plain text within the profile's YAML file at this time.
JSON Web Tokens are not supported by Zowe Explorer 1.9.0 or previous versions.
If you created an RSE profile by using Zowe Explorer 1.11.1 or lower and left the username and password values blank and have empty strings stored within the profile's YAML, you will be required to add the
--userand--passwordtags with the appropriate values when you use command line operations with that profile, even if a JWT has been issued for the profile at this time. We recommend creating the profile using command line operations or editing the profile with Zowe Explorer 1.12.0 or higher to omit the empty strings in the profile's YAML file.The JWT logout command
zowe rse auth logoutis not supported by the host component RSE API 1.0.0.If VS Code is opened during the
auth loginandauth logouta refresh of VS Code is required to grab the changes to the profile's YAML file for profile updates to be used in Zowe Explorer.
RSE CLI plug-in TSO and UNIX commands
The command
zowe rse issue command {COMMAND}, which can be used to issue a TSO command, is not supported by the host component RSE API 1.0.0.Issuing a TSO and UNIX command with an RSE profile via Zowe Explorer is not supported yet.
RSE CLI plug-in support in the Zowe Explorer VS Code extension
Uploading USS files in Zowe Explorer does not recognize the profile's default encoding at this time.
If a default profile is not set for RSE CLI plug-in, Z Open Editor will not activate with Zowe Explorer. You can see if a default profile is set by issuing the command:
zowe profiles list rseIf a default profile is set, then
(default)should show up next to the default profile's name. If no default profile is set, you can issue the following command, replacing<profileName>with the name of the profile you would like to be the default:zowe profiles set-default rse <profileName>
MVS
The following features are not implemented yet:
Create a Binary Data Set type
JES
The following features are not implemented yet:
Issue a Modify command
Issue a Stop command
Known issues with USS
USS does not accept the upload of a directory or file names with spaces in them.
An error occurs when you specify USS paths in a Window's Bash terminal (for example:
/u/userid). To solve the issue, create an environment variableMSYS_NO_PATHCONVwith a value of1in User Variables and restart the terminal.
Reporting issues
If you want to provide feedback or report an issue, open an issue in the GitHub repository. Any report and feedback is appreciated.