Introducing the Jupyter Extension for VS Code
We’re excited to announce that we’re releasing the new Jupyter extension for Visual Studio Code today! The Jupyter extension is the latest step in our journey to bring the power of Jupyter Notebook into VS Code for a variety of languages and scenarios.
Jupyter Notebook enables creating and sharing documents that contain live code, equations, text, and visualizations, and is the de facto data science tool for its simplicity and interactivity. At Microsoft we’re all in to embrace its power. The Python extension for VS Code has shipped with Jupyter Notebook support for over a year with growing popularity. We understand that Jupyter Notebooks are also used with other programming languages beyond Python, such as R, Julia, and Scala. To enable the same rich Jupyter Notebook experience for other languages, we’ve refactored the Jupyter support out of the Python extension and into the Jupyter extension that we’re shipping today. This makes it much easier to build new Jupyter experiences for languages beyond Python by taking a dependency on the Jupyter extension, which itself has no dependency on the Python runtime or the Python extension. For our existing VS Code Python Notebooks users, thank you again for all your feedback that helps shape our investments, there’s no change in the experience for you as the Jupyter extension comes installed with the Python extension.
The Jupyter extension provides basic notebook support for any language kernel that is supported in Jupyter Notebooks today. Many language kernels will work with no modification. To enable advanced features such as full IntelliSense and debugging, there may be modifications needed in the VS Code language extensions. These will be documented as the project evolves. The screenshot below shows viewing and running a Julia Notebook in VS Code using the Jupyter extension.
The code for the new Jupyter extension lives in the GitHub repo under the MIT license. This work is rapidly evolving. We’ll continue to polish the extension in the coming weeks and months, and we look forward to collaborating with the Jupyter community to refine and evolve this extension to support a variety of languages and scenarios.
Try it out!
- To work with Python Jupyter Notebooks in VS Code, simply install or update the Python extension. There’s no need to install the Jupyter extension separately. For those who are using the VS Code Insiders build, you may notice that the new preview notebooks experience that was first introduced in July has now been turned on by default.
- To use the Jupyter extension for notebooks other than Python, install the VS Code Insiders build, the Jupyter extension, the Jupyter kernel of your language (e.g. kernel for the Julia language), and start playing around!
- To contribute to the Jupyter extension, check out our contribution guide. This AI Tools sample extension demonstrates how to use the custom authentication API that’s exposed through the Jupyter extension.
If you have feedback or suggestions on any of the above experiences, please let us know by filing issues in the repo. This is just the beginning of this exciting journey, and we can’t wait to see what we can build together for a richer Jupyter Notebooks experience in VS Code!
This is so nice!
But is it related with the “Native Notebook” feature announced a while ago?
It was a July 27 post: Notebooks are getting revamped!
Never mind, I just saw the note in the “Try it out” part. Hope the Native Notebook feature can be released into the stable channel soon!
Me too! 🙂 We’re getting there!
Looks great on my Ubuntu rig! The interactive cells were good, but I love having the results inline like this Jupyter Extension allows. Awesome job by vscode dev team, Thank you!
Hi Ernest, that’s great to hear! Thank you for your kind words! 🙂
I love the direction Microsoft is taking, in addition to the integration of Guido into the company, this excites me!!!
Thanks! We’re very excited too!
Thank you so much for this. It really does make me happy that Microsoft is investing the resources into improving the Jupyter notebook experience. Do you know if there is a way to use an interactive console with the current notebook session? This is a huge feature for me.