- YAML validation:
- Detects whether the entire file is valid yaml
- Validation:
- 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
- Detects warnings such as:
- Node is an additional property of parent
- Detects errors such as:
- Auto completion:
- Auto completes on all commands
- Scalar nodes autocomplete to schema's defaults if they exist
- Hover support:
- Hovering over a node shows description if available
- Document outlining:
- Shows a complete document outline of all nodes in the document
The following settings are supported:
yaml.format.enable
: Enable/disable default YAML formatteryaml.validate
: Enable/disable validation featureyaml.schemas
: Helps you associate schemas with files in a glob patternyaml.customTags
: Array of custom tags that the parser will validate against. It has two ways to be used. Either an item in the array is a custom tag such as "!Ref" or you can specify the type of the object !Ref should be by doing "!Ref Scalar". For example: ["!Ref", "!Some-Tag Scalar"]. The type of object can be one of Scalar, Sequence, Mapping, Map.
When associating a schema it should follow the format below
yaml.schemas: {
"url": "globPattern",
"Kubernetes": "globPattern",
"kedge": "globPattern"
}
e.g.
yaml.schemas: {
"http://json.schemastore.org/composer": "/*"
}
e.g.
yaml.schemas: {
"kubernetes": "/myYamlFile.yaml"
}
e.g.
yaml.schemas: {
"kedge": "/myKedgeApp.yaml"
}
e.g.
yaml.schemas: {
"http://json.schemastore.org/composer": "/*",
"kubernetes": "/myYamlFile.yaml"
}
yaml.schemas
extension allows you to specify json schemas that you want to validate against the yaml that you write. Kubernetes and kedge are optional fields. They do not require a url as the language server will provide that. You just need the keywords kubernetes/kedge and a glob pattern.
This repository only contains the server implementation. Here are some known clients consuming this server:
- Eclipse Che
- vscode-yaml for VSCode
- ide-yaml for Atom editor
- Install prerequisites:
- latest Visual Studio Code
- Node.js v6.0.0 or higher
- Fork and clone this repository
- Install the dependencies
cd yaml-language-server $ npm install
- Build the language server
$ npm run compile
- The new built server is now location in out/server/src/server.js.
node (Yaml Language Server Location)/out/server/src/server.js [--stdio]
We have included the option to connect to the language server via stdio to help with intergrating the language server into different clients.