Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
vscode-yaml
Advanced tools
YAML Language Support by Red Hat, with built-in Kubernetes syntax support
Provides comprehensive YAML Language support to Visual Studio Code, via the yaml-language-server, with built-in Kubernetes syntax support.
Supports JSON Schema 7 and below.
Auto completion and hover support are provided by the schema. Please refer to Language Server Settings to setup a schema
The following settings are supported:
yaml.format.enable
: Enable/disable default YAML formatter (requires restart)yaml.format.singleQuote
: Use single quotes instead of double quotesyaml.format.bracketSpacing
: Print spaces between brackets in objectsyaml.format.proseWrap
: Always: wrap prose if it exeeds the print width, Never: never wrap the prose, Preserve: wrap prose as-isyaml.format.printWidth
: Specify the line length that the printer will wrap onyaml.validate
: Enable/disable validation featureyaml.hover
: Enable/disable hoveryaml.completion
: Enable/disable autocompletionyaml.schemas
: Helps you associate schemas with files in a glob patternyaml.schemaStore.enable
: When set to true the YAML language server will pull in all available schemas from JSON Schema Storeyaml.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" and it will automatically map !Ref to scalar or you can specify the type of the object !Ref should be e.g. "!Ref sequence". The type of object can be either scalar (for strings and booleans), sequence (for arrays), mapping (for objects).[yaml]
: VSCode-YAML adds default configuration for all yaml files. More specifically it converts tabs to spaces to ensure valid yaml, sets the tab size, and allows live typing autocompletion. These settings can be modified via the corresponding settings inside the [yaml]
section in the settings:
editor.insertSpaces
editor.tabSize
editor.quickSuggestions
In order to use the custom tags in your YAML file you need to first specify the custom tags in the setting of your code editor. For example, you can have the following custom tags:
"yaml.customTags": [
"!Scalar-example scalar",
"!Seq-example sequence",
"!Mapping-example mapping"
]
The !Scalar-example would map to a scalar custom tag, the !Seq-example would map to a sequence custom tag, the !Mapping-example would map to a mapping custom tag.
You can then use the newly defined custom tags inside the YAML file:
some_key: !Scalar-example some_value
some_sequence: !Seq-example
- some_seq_key_1: some_seq_value_1
- some_seq_key_2: some_seq_value_2
some_mapping: !Mapping-example
some_mapping_key_1: some_mapping_value_1
some_mapping_key_2: some_mapping_value_2
yaml.schemas applies a schema to a file. In other words, the schema (placed on the left) is applied to the glob pattern on the right. Your schema can be local or online. Your schema must be a relative path and not an absolute path.
When associating a schema it should follow the format below
"yaml.schemas": {
"url": "globPattern",
"Kubernetes": "globPattern"
}
e.g.
"yaml.schemas": {
"http://json.schemastore.org/composer": ["/*"],
"file:///home/johnd/some-schema.json": ["some.yaml"],
"../relative/path/schema.json": ["/config*.yaml"],
"/Users/johnd/some-schema.json": ["some.yaml"],
}
e.g.
"yaml.schemas": {
"kubernetes": ["/myYamlFile.yaml"]
}
e.g.
"yaml.schemas": {
"http://json.schemastore.org/composer": ["/*"],
"kubernetes": ["/myYamlFile.yaml"]
}
Since 0.11.0
YAML Schemas can be used for validation:
"/home/user/custom_schema.yaml": "someFilePattern.yaml"
yaml.schemas
is location in user and workspace settings{
"contributes": {
"yamlValidation": [
{
"fileMatch": "yourfile.yml",
"url": "./schema.json"
}
]
}
}
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. They do not require a url as the language server will provide that. You just need the keyword kubernetes and a glob pattern.
$ cd vscode-yaml
$ npm install
$ npm run compile
Download both the Yaml Language Server and this VSCode Yaml Client.
Create a project with the directories in the following structure.
ParentFolder/
├──── vscode-yaml/
├──── yaml-language-server/
Run npm install
in both directories to initialize node_modules
dependencies.
In vscode-yaml/src/extension.ts
set the serverModule
variable to:
serverModule = context.asAbsolutePath(path.join('..', 'yaml-language-server', 'out', 'server', 'src', 'server.js'));
This will redirect which YAML LS to use.
In BOTH directories run:
npm run compile
To run the language server in VSCode, click View -> Debug
, then from the drop down menu beside the green arrow select Launch Extension (vscode-yaml)
, click the arrow, and a new VSCode window should load with the YAML LS running.
To debug the language server in VSCode, from the same drop down menu
select
Attach (yaml-language-server)
, and click the green arrow to start.
Ensure you've opened a YAML file or else the server would have not yet
started.
Note: Disable or remove any existing implementations of the YAML Language server from VSCode or there will be conflicts.
Refer to VS Code documentation on how to run and debug the extension
To obtain and install the latest release from github you can:
All contributions are welcome!
0.13.0
contributes.jsonValidation
#348FAQs
YAML Language Support by Red Hat, with built-in Kubernetes syntax support
The npm package vscode-yaml receives a total of 7 weekly downloads. As such, vscode-yaml popularity was classified as not popular.
We found that vscode-yaml demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.