# 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](/files/rAyLtmihnTVFncvXKA7i)

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](/files/wWyVjP41rRGswFaokbkf)

## 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](/concepts/pipeline.md), [Hooks](/concepts/hooks.md) and [Functions](/concepts/functions.md) documentation documentation.

## Screenshots

![Input Suggestions](/files/3cBhLyhMwAt008gbHI4k)

![Function Suggestions](/files/PmCLS6u5V8EhQjypcZTQ)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.slingdata.io/sling-cli/vscode.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
