IBM Z® Open Editor
Docs
News and Blogs
IBM Downloads
VS Code Marketplace
GitHub
Docs
News and Blogs
IBM Downloads
VS Code Marketplace
GitHub
  • Overview

    • Introduction
    • Updates and user feedback
  • Getting Started

    • Getting started with IBM Z Open Editor
    • Setting up integrations to interact with z/OS
    • Getting started with Zowe 3.0
  • Configuration

    • Setting preferences
    • Configuring your applications with ZAPP files
    • Setting property groups
    • Setting compiler options
    • Setting file associations
    • Setting language-specific tab stops and rulers
    • Enabling and disabling problems in IBM Z Open Editor
    • Enabling and disabling unreachable COBOL code warnings
    • Customizing the Outline view
    • Setting language-specific maximum line length
    • EBCDIC code pages and mappings files
    • Experimental: Formatting COBOL source code
  • Tutorials

    • Tutorial overview
    • Exploring the user interface
    • Exploring the sample files
    • COBOL editing tutorial
    • COBOL, PL/I Preprocessor tutorial
    • HLASM editing tutorial
    • REXX editing tutorial
    • Managing z/OS resources with IBM RSE API Plug-in for Zowe CLI tutorial
    • Submitting JCL to compile, link, and run jobs tutorial
  • Editing program files

    • Language References
    • Making COBOL and PL/I code changes
    • Making High Level Assembler code changes
    • Making REXX code changes
    • Making JCL code changes
    • Using and managing code snippets
    • Using the integrated Git
    • Searching for COBOL, PL/I, HLASM, and REXX components
  • Interacting with z/OS using Zowe

    • Interacting with z/OS
    • Creating a configuration profile in Zowe Explorer v3.0.0
    • Migrating your old Zowe yaml profiles for Zowe v3.0
    • Supported methods of authentication for z/OS using Zowe
    • Sharing team configuration files
    • Connecting to z/OS with Zowe Explorer walk through
    • Using the Zowe Explorer views
    • Using Zowe profiles in Z Open Editor
    • Connecting to z/OS using Zowe CLI walk through
    • Using command line to interact with z/OS
    • Interact with RSE Common Properties
  • Advanced Capabilities

    • Overview
    • Activating advanced capabilities
    • Launching a 3270 emulator from Zowe Explorer
    • z/OS Resources Table
    • Data Elements View
    • Program Control Flow Browser
    • Data Flow Browser
    • Preprocessor support
    • Custom Macros for HLASM
    • Language Detection
    • Linting with IBM ZCodeScan
    • User build with IBM Dependency Based Build (DBB)
    • Agent Mode
  • Cloud-based Editing

    • Overview to using Cloud and Browser-based platforms
    • Try Z Open Editor in the Red Hat Developer Sandbox
    • Configuring Red Hat OpenShift Dev Spaces
    • Managing Developer Workspaces
    • Managing secrets
    • Create and use custom images
    • Migrating from IBM Wazi for Dev Spaces
    • Using Z Open Editor on GitHub Codespaces
    • Using Z® Open Editor with Dev Containers
  • Troubleshooting

    • Known issues and limitations
    • Troubleshooting using log files
    • Troubleshooting for User Build
    • Uninstalling CLI plugins and VS Code extensions
  • Reference

    • IBM RSE API Plug-in for Zowe CLI commands
    • IBM RSE API Plug-in for Zowe CLI as nodejs SDK package
    • IBM RSE API Plug-in for Zowe CLI as nodejs SDK reference
    • Example Zowe configuation setups
    • IBM Z Open Editor MCP Tools
    • Accessibility and Keyboard Shortcuts
    • settings.json properties
    • Message ID Reference
    • Other Visual Studio Code extensions
  • Legal information

    • Notices
    • Trademarks
    • Privacy policy considerations

Language Detection

Programs and include files stored in data set members do not have file extensions, making it difficult for VS Code to automatically apply the correct language support when you open such files. Z Open Editor provides special user settings, such as zopeneditor.datasets.cobolDatasets that enable mapping data set naming patterns to specific languages, as documented in Setting remote file associations. However, this mapping applies at the data set level, not to individual members. Therefore, if a data set contains members written in multiple programming languages, you had to manually assign the appropriate language through the VS Code status bar.

However, if you are using an RSE API server and connect to z/OS® with an RSE API profile, Z Open Editor attempts to detect the language of the file automatically. The detector uses the RSE API metadata scanner to guess the language. Since this heuristic may occasionally be inaccurate, DEBUG-level logging is added to help you review the detector’s response. If the guessed language is incorrect, you can manually switch to the correct one using the VS Code status bar.

When you switch the Z Open Editor into DEBUG mode, as documented in Troubleshooting using log files, you can look for messages like these to observe what "language guess" was returned by the server.

DEBUG: Attempting to identify language for: /zos.rseapi/IBMUSER.SAMPLE.MISC/SAM1
DEBUG: RSE API returned extension: "cbl" for file "IBMUSER.SAMPLE.MISC(SAM1)"
DEBUG: Assigned language "cobol" for /zos.rseapi/IBMUSER.SAMPLE.MISC/SAM1 using RSE API call.

The feature is enabled by default for licensed users and can be disabled by setting zopeneditor.zowe.disableRseApiLanguageDetection: true, as documented in Using Zowe profiles in Z Open Editor.

Last Updated: 8/22/25, 10:19 AM
Contributors: PETER HAUMER, phaumer, Esther M
Prev
Custom Macros for HLASM
Next
Linting with IBM ZCodeScan