Over at the Openshift and Che land, we deal with YAML files for deploying our applications regularly. Unfortunately, the tooling to support editing of these files was not up to our expectations. As we are also tooling developers, we have decided to take matters at hand and implement a language server for kubernetes syntax. An effort which mostly Josh Pinkney and I have worked on for the last few months. As we have progressed with our implementation, we have realized that limiting the extension to kubernetes was wasted opportunity and we have reorganized the language server for general YAML support but kept the kubernetes syntax support built-in.
Today, the language server is available as a package on npm. We have also released the YAML support extension for VS Code and integrated it to Eclipse Che. It has been already noticed by different communities and is used for instance by ide-yaml package for Atom.
In this initial release supported features are:
JSON Schema: JSON Schemas allow us to understand the structure of yaml files. We provide the settings to map schemas to files.
Validation: In addition to simple syntax validation, provides structure and value validation based on an associated JSON Schema.
IntelliSense: Provides intellisense through the associated JSON Schema
Outlines: Allows quick navigation to properties especially handy with large files.
Hovers: Gives additional context from the associated JSON schema when hovered on properties and values.