Red Hat Developer

YAML Ain't Markup Language (YAML) has grown increasingly popular during the past few years. It is a human-readable text-based format for specifying configuration information and is used in many platforms, such as Kubernetes and Red Hat OpenShift.

Eclipse Wild Web Developer is a language-based extension that provides a rich development experience for developing typical web and configuration files in the Eclipse IDE. According to the project page, "Eclipse Wild Web Developer relies on existing mainstream and maintained components to provide the language smartness, over popular configuration files like TextMate and protocols like Language Server Protocol  or Debug Adapter Protocol."

Recently, the YAML Language Server has been integrated into Eclipse Wild Web Developer. This is a feature-rich YAML Language Server implementation that also powers editors including VSCode, Eclipse Che, and Atom. This integration brings all the features that Language Server supports, including validation, autocompletion, hover support, and document outlining to the Eclipse Generic Editor, making it much easier to write and maintain YAML files.

To get these features, you can download the Wild Web Developer in the Eclipse Marketplace.

Demo

General YAML support

If you open any .yaml or .yml file with the Eclipse Generic Editor with Wild Web Developer installed, you'll find it has all the features you'd expect to find in a language based editor, including:

  • Syntax highlighting
  • YAML validation
  • Document outlining
  • Formatting

Built-in Kubernetes and custom schemas support

In addition to general YAML support, Wild Web Developer provides built-in Kubernetes syntax support, as well as support for validation for custom schemas through the YAML Language Server.

Out of the box, the YAML Language server will automatically check SchemaStore to provide syntax, structure, and value validation based on a matching schema. You may also manually associate schemas to your YAML files by going to Preferences -> YAML -> YAML Schemas and adding the corresponding schemas.

In the Schema section, you may specify built-in Kubernetes definitions, such as "kubernetes" or "kedge," or any URLs pointing to a valid schema. The Glob Pattern parameter is used to match the schemas to a file path. For example, you can specify it as /* to apply the schema to all YAML files in the project, or use the flexibility to specify different schemas for different files or directories.

Once this is done, you can access all the schema-related features like:

  • Autocompletion: autocompletes properties or node values to schema's default
  • Hovers: hovering over a property shows a description
  • Schema validation: validating structure and values of your file against the schema

Contributing

If you are a developer working with YAML files or any typical web languages, then check out Wild Web Developer and see how it compares to your current workflow. If you would like to contribute, feel free to submit any issues, pull requests, or comments at: https://github.com/eclipse/wildwebdeveloper.

Last updated: February 5, 2024