Provides YAML support via yaml-language-server with built-in Kubernetes syntax support.
- YAML validation:
- Detects whether the entire file is valid yaml
- Detects errors such as:
- Node is not found
- Node has an invalid key node type
- Node has an invalid type
- Node is not a valid child node
- Document Outlining (Ctrl + Shift + O):
- Provides the document outlining of all completed nodes in the file
- Auto completion (Ctrl + Space):
- Auto completes on all commands
- Scalar nodes autocomplete to schema's defaults if they exist
- Hover support:
- Hovering over a node shows description if provided by schema
Auto completion and hover support are provided by the schema. Please refer to Language Server Settings to setup a schema
yaml.schemas: {
"url": "globPattern",
"Kubernetes": "globPattern"
}
e.g.
yaml.schemas: {
"http://json.schemastore.org/composer": "/*"
}
e.g.
yaml.schemas: {
"kubernetes": "/myYamlFile.yaml"
}
e.g.
yaml.schemas: {
"http://json.schemastore.org/composer": "/*",
"kubernetes": "/myYamlFile.yaml"
}
- The entrance point for
yaml.schemas
is location in user and workspace settings - Supports schemas through schema store as well as any other schema url
- Supports 'yamlValidation' point which allows you to contribute a schema for a specific type of yaml file (Similar to jsonValidation)
This extension allows you to specify json schemas that you want to validate against the yaml that you write. In the vscode user and workspace preferences you can set a url and a glob pattern that you want to validate against the schema. Kubernetes is an optional field. It does not require a url as the language server will provide that. You just need the key word kubernetes and a glob pattern.
- Install prerequisites:
- latest Visual Studio Code
- Node.js v6.0.0 or higher
- Fork and clone this repository and go into the folder
$ cd vscode-yaml
- Install the dependencies
$ npm install
- Compile the Typescript to Javascript
$ npm run compile
- Open the client in vscode
- Make changes as neccessary and the run the code using F5
- To develop the language server visit https://github.com/redhat-developer/yaml-language-server
Refer to VS Code documentation on how to run and debug the extension
To obtain and install the latest release from github you can:
- First download the latest *.vsix file from Github Releases section
- Inside of VSCode navigate to the extension tab and click the three elipses (...).
- Click install from VSIX and provide the location of the *.vsix that was downloaded
All contributions are welcome!