# VS Code Extension 🔌

The Sling VS Code extension provides schema validation and language server features for SlingData.io configuration files.

## Why Use It

This extension enhances your productivity when working with Sling configuration files by offering:

* **Auto-detection** of Sling configuration files (e.g., pipeline.yaml, replication.yaml, spec.yaml).
* **Schema validation** to ensure your configurations adhere to the correct structure.
* **Auto-completion** for properties, values, and expressions.
* **Hover information** providing inline documentation.
* **Diagnostics** for identifying errors, warnings, and suggestions in your configs.

These features help you write valid and efficient Sling configurations, reducing errors and speeding up development!

## How to Get It

You can get the extension here: <https://marketplace.visualstudio.com/items?itemName=sling.sling-vscode>

Or simply search `Sling` in the Extensions Market place panel in VS Code.

![Install via Marketplace](https://3453272330-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M93cpHl7B7NPZlDrubS%2Fuploads%2Fgit-blob-09871c7e220309dd1ae9a8c12da5464734b1ce4b%2Fimage.png?alt=media)

If you're using a forked VS Code editor (such as Cursor or VSCodium), you can install directly from the VSIX package ([download it here](https://marketplace.visualstudio.com/_apis/public/gallery/publishers/sling/vsextensions/sling-vscode/latest/vspackage)).

![Install via VSIX](https://3453272330-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M93cpHl7B7NPZlDrubS%2Fuploads%2Fgit-blob-3ab86bfba38844ee3bbbace21f5c55577bfbd374%2Fimage-3.png?alt=media)

## Working with Pipelines & Hooks

This VSCode extension helps tremendously with developing Sling Hooks & Pipelines. The extension provides:

* Schema validation for pipeline YAML files
* Auto-completion for step types, properties, and expression (such as functions)
* Hover documentation for pipeline steps and variables

This makes authoring and maintaining complex pipelines much easier and error-free. For more on pipelines, see the [Pipelines](https://docs.slingdata.io/concepts/pipeline), [Hooks](https://docs.slingdata.io/concepts/hooks) and [Functions](https://docs.slingdata.io/concepts/functions) documentation documentation.

## Screenshots

![Input Suggestions](https://3453272330-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M93cpHl7B7NPZlDrubS%2Fuploads%2Fgit-blob-8301b2d6799c7eb854c1d81ba9a15e31d97b42e7%2Fimage-2.png?alt=media)

![Function Suggestions](https://3453272330-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M93cpHl7B7NPZlDrubS%2Fuploads%2Fgit-blob-1ddeeb85a87822fadcd93837fdb5cdeb25a55b7d%2Fimage-1.png?alt=media)
