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!
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 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.
Autocomplete dataset names
Offers intelligent suggestions for dataset names to minimize typos and maximize accuracy, thus accelerating code creation.
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.
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 extensionSelect 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:
Join our Slack organisation to reach out to us directly if you’ve a question or want to stay up to date with news. There's an archive of past conversations on Slack too.
Read our documentation or take a look at the Kedro source code on GitHub.
Check out our video course on YouTube.