OpenAPI Generator
Quick Start
VSCode OpenAPI spec generator — Quick Start
Generate client or server code from OpenAPI specs without leaving VS Code. <br/> This extension opens a dedicated OpenAPI generator UI inside VS Code, reads .yaml / .yml / .json specs, and can extract generated code directly into your workspace.
Prerequisites
| Requirement | Details |
|---|---|
| VS Code | 1.101 or newer |
| Internet access | Required for login, license validation, and calling the remote OpenAPI generator service |
| OpenAPI spec | A valid .yaml, .yml, or .json OpenAPI file |
Install
Install OpenEdge ABL - OpenAPI from the VS Code Marketplace or from the .vsix file.

Configure project settings
The extension stores generation settings in VS Code under ai4you-openapi.projectGenerationSettings.
You usually do not need to edit this manually because the UI saves and reloads these settings for you. If needed, you can define them in .vscode/settings.json.
Workspace-folder scope example:
{
"ai4you-openapi.projectGenerationSettings": {
"_globalWorkspacePath": "C:/work/my-project",
"_globalAblApiEnvironment": "2026q1",
"excludeFiles": ".git,.gitignore"
}
}
Common values used by the extension:
| Setting | Purpose |
|---|---|
workspacePath / _globalWorkspacePath | Target path where generated code should be extracted |
excludeFiles | Comma-separated file patterns to avoid overwriting during extraction |
ablApiEnvironment / _globalAblApiEnvironment | Selects which OpenAPI generator environment to use |
licenseData | Stored license information used after validation |
Open the OpenAPI generator
Three quick ways to launch it:
- Open the command palette.
- Run
Launch OpenAPI generator 😎 (vscode sync). - Use the OpenAPI generator webview that opens inside VS Code.

On first use, the extension may prompt you to register its MCP server for AI-assisted workflows.
Generate code from a spec
Typical flow:
- Launch the OpenAPI generator.
- Select an OpenAPI spec file (
.yaml,.yml, or.json). - Select whether you want a client or server generator.
- Choose an available language and generator version.
- Change configuration options if needed.
- Choose whether to extract the generated ZIP into your project path.
- Generate the code.
When extracting into a folder, the extension respects the configured excludeFiles list for existing files.
What you can do
- Open an interactive OpenAPI generator UI inside VS Code.
- Select local OpenAPI specification files from your workspace or disk.
- Generate client or server code for supported languages.
- Extract generated ZIP output directly into your project folder.
- Save and reload per-project generation settings.
- Switch between configured generator environments.
- Use MCP integration for AI workflows that depend on the OpenAPI generator.
Demo
Interface Overview
Interface Overview
Overview
This guide explains the main parts of the VSCode OpenAPI spec generator interface.
The overall layout is built around a guided generation flow, helping you move from selecting an OpenAPI specification to choosing the generator type, adjusting options, configuring extraction, and generating code.
Header Area
From here, you can see:
- view the current subscription status badge
- see whether premium or licensed features are active

Wizard Navigation Area
The wizard navigation area appears near the top of the main content.
This area shows the step-by-step flow used by the interface:
- Spec
- Target
- Options
- Extraction
- Review
From here, you can:
- see which step is currently active
- move back to previously completed steps
- understand which steps are still required before generation
This makes the interface predictable and helps you follow the full generation process in the right order.

Specification Area
The specification area is the first step of the wizard.

This area lets you:
- select an OpenAPI specification file
- browse for
.yaml,.yml, or.jsonfiles - load a specification from the VS Code workspace or from disk
- see the currently selected specification path
This is where every generation starts, because the rest of the interface depends on the selected spec.

Generator Type Area
The generator type area is the second step of the wizard.
This area lets you:
- choose whether you want to generate a client or a server
- switch generator type before continuing


This step defines the kind of output the tool will request from the generator service.
Language and Options Area
The language and options area is the third step of the wizard.

This area lets you:
- choose the target language
- open the settings dialog for generator-specific options
- see when options have been changed from their defaults
- choose the generator version or environment for certain generators
This is the main configuration area for generation behavior.
Supported generators (For ABL)

Languages example

Extraction Settings Area
The extraction settings area is the fourth step of the wizard when the tool runs inside VS Code.

This area lets you:
- choose the project path where generated output should be extracted
- decide whether the generated ZIP should be extracted automatically
- review the list of excluded files that should not be overwritten

This step controls where the generated result goes after generation finishes.
Review and Generate Area
The review and generate area is the final step of the wizard.
This area gives you a summary of:
- the selected specification
- the generator type
- the chosen language
- the selected API environment
- the extraction mode
- how many generator options are configured

From here, you can:
- review the final configuration before generation
- see when saved settings will be updated
- start the code generation process
This is the final checkpoint before the tool calls the generator service.
Load saved Settings Area
The saved settings action is available above the main wizard content.

From here, you can:
- open the list of previously saved generation settings
- reload a saved client or server configuration
- restore the spec path, language, options, and extraction settings for a previous generation setup

This helps you return quickly to common generation scenarios without rebuilding the configuration manually each time.
Generation Settings
Generation Settings
Overview
This guide explains how generation settings work in the VSCode OpenAPI spec generator.
The interface is designed so that you can move from selecting a specification to choosing the generator type, adjusting language-specific options, configuring extraction, and saving those choices for later reuse.
Project Generation Settings
The extension stores its generation settings in VS Code under ai4you-openapi.projectGenerationSettings.
This is the main generation settings object exposed by the extension.
Inside this object, the extension stores saved values such as:
- the project path used for extraction
- the selected API environment
- excluded files
- saved generator configurations for specific spec and language combinations
These values are not exposed as separate top-level VS Code settings.
In practice, you normally do not need to edit this object manually because the interface updates it for you.
Example config:

Load Saved Settings
The generator can save settings for a specific combination of:
- generator type
- language
- specification path
This allows the tool to remember previous generation setups.
The saved entry is stored inside ai4you-openapi.projectGenerationSettings, rather than as a separate VS Code setting.
When you load saved settings, the generator can restore:
- the selected spec path
- the generator type
- the language
- configured generator options
- extraction settings
- the selected API environment
This makes it easier to return to the same generation flow without entering all values again.

Specification-Based Settings
Saved settings are tied to the selected OpenAPI specification.
This means that when you switch to a different spec file:
- the current generation context changes
- the tool checks for settings that belong to the new spec
- custom settings for the current in-memory flow may be reset
This behavior helps keep generator options aligned with the spec you are currently working with.
Generator Type Settings
The generator type step lets you choose whether you want to generate a client or a server.
This choice affects:
- which languages are available
- which option set is loaded
- which saved settings entry is used
Changing the generator type is treated as a meaningful configuration change, so later steps in the flow may be refreshed to match the new target.
Language and Options Settings
After selecting a generator type, you can choose a language and open the settings dialog for generator-specific options.

This area is where you control values such as:
- package names

- naming conventions
- generation switches
- other language-specific settings exposed by the generator service

The interface can also show when options are no longer at their default values, helping you see when a configuration has been customized.
Generator Version and Environment
For certain generators, the interface lets you choose a generator version or environment.
This setting controls which backend generator environment is used when requesting code generation.
Depending on the generator, this may be used to:
- select the default released environment
- try a newer environment
- use a development environment
This setting is also included in saved generation settings so that the same configuration can be reused later.

Excluded Files
The excluded files value is used during extraction.
Its purpose is to reduce the chance of overwriting files you want to keep unchanged.
In practice, excluded files are used when:
- generated output is extracted into a project path
- a matching file already exists
- the file path matches one of the exclusion patterns
This gives you more control over how generated output is applied to an existing codebase.

When Settings Reset
Some settings are intentionally reset when a major input changes.
For example, this can happen when:
- you choose a different specification
- you change the generator type
- the available language or option set changes
This behavior helps prevent mismatched settings from being applied to the wrong generation flow.