News — 5 min read

Introducing a Kedro extension for VS Code

We're launching a Kedro extension for VS Code that offers enhanced code navigation and autocompletion.

1 Aug 2024 (last updated 1 Aug 2024)
Glass v6 black

We're excited to announce a Kedro extension for VS Code, which integrates Kedro projects with Visual Studio Code. It's designed to streamline your workflow and enhance your productivity with features such as enhanced code navigation and autocompletion.

Why we built a VS Code extension

Without integrated development environment (IDE) support, managing Kedro projects can be challenging, especially for navigation between various configuration files and pipelines. We built a Kedro extension to address these common pain points and offer an integrated development experience to improve productivity and ensure that Kedro works seamlessly with popular development tools.

Why didn't we build it sooner?

We sort of did! An earlier attempt came in the form of Lim’s kedro-lsp project, started in 2021. It showed that we could improve the developer experience by using the Language Server Protocol (LSP) to navigate a Kedro project. However, there were obstacles to overcome and we didn’t further pursue it.

Additionally, in the past we had to keep track of multiple different config loaders, which would have been challenging to integrate. At the point Kedro unified behind a single, highly advanced config loader, it made sense to build the extension.

Finally, the Python community did not adopt VS Code to the same level as PyCharm until relatively recently, so the demand wasn’t driving development. Now it is! That said, do you think we should also create a PyCharm extension? Let us know!

Official Python Developers Survey Results by Python Software Foundation and JetBrains from 2017-2022

Key features

The features in this first release of the extension (0.1.0) are as follows:

Go to Definition from pipeline.py to configuration files

This feature enables you to jump directly from pipeline.py to relevant configuration files for faster debugging, more efficient development, and improved code readability.

Go to dataset definition

Go to Reference from configuration files to pipeline.py

For backtracking and validation of your configuration by navigating back to the corresponding pipeline.py to ensure consistency and save time.

Go to pipeline reference

Autocomplete dataset names

Offers intelligent suggestions for dataset names to minimize typos and maximize accuracy, thus accelerating code creation.

Autocomplete dataset names

Validate the schema of your catalog.yml

To ensure your catalog.yml file adheres to the required schema, catch errors early and maintain data integrity, for project reliability.

Validate catalog schema

How to use the extension

You’ll need VS Code 1.64.0 or greater; the Kedro extension for VS Code; and a Kedro project built with a Kedro version >= 0.19.

  • Install Kedro from the extension

  • Select the correct Python interpreter that you use to run the Kedro project with the

    > Python: select interpreter command

If you can execute the kedro run command in the terminal, you are ready to go.

For more details and the settings available, take a look at on the extension’s Visual Studio Marketplace page.

Feedback

Early adopters have already experienced the benefits of the Kedro extension. Here's what some of them have to say:

"One of the downsides that I experienced from Kedro is having strings to specify node inputs/outputs, since the static type checker cannot help there and searching for dataset/parameter definitions can be time-consuming. This nicely aids in speeding up my development."

"I literally gasped when I saw this I’ve been waiting for so long!!! Well done team!"

Don't take our word for it though! Download the extension today and see what you think!

Please do report any bugs you find and help us make Kedro as good as it can be for our community.

Happy coding!

Find out more about Kedro

There are many ways to learn more about Kedro:


On this page:

Photo of Nok Lam Chan
Nok Lam Chan
Software Engineer, Kedro
Share post:
Twitter logoLinkedIn logo

All blog posts

cover image alt

Kedro newsletter — 5 min read

In the pipeline: July 2024

From the latest news to upcoming events and interesting topics, “In the Pipeline” is overflowing with updates for the Kedro community.

Jo Stichbury

1 Jul 2024

cover image alt

SQL in Python — 7 min read

Streamlining SQL Data Processing in Kedro ML Pipelines

Kedro and Ibis streamline the management of ML pipelines and SQL queries within a Python project, leveraging Google BigQuery for efficient execution and storage.

Dmitry Sorokin

5 Jun 2024

cover image alt

Kedro newsletter — 5 min read

In the pipeline: May 2024

From the latest news to upcoming events and interesting topics, “In the Pipeline” is overflowing with updates for the Kedro community.

Jo Stichbury

7 May 2024

cover image alt

Best practices — 5 min read

A practical guide to team topologies for ML platform teams

Creating data platforms is a challenging task. A guest author explains how Kedro reduces the learning curve and enables data science teams.

Carlos Barreto

30 Apr 2024

cover image alt

Kedro-Viz — 6 min read

Share a Kedro-Viz with Github pages

We have added support to automate publishing to Github pages through the publish-kedro-viz Github Action. Learn how to configure and use the feature!

Nero Okwa

4 Apr 2024