We are excited to announce that Polyglot Notebooks, Visual Studio Code’s multi-language notebook extension, is now generally available in the VS

Announcing Polyglot Notebooks! Multi-language notebooks in Visual Studio Code

submited by
Style Pass
2023-03-15 20:00:05

We are excited to announce that Polyglot Notebooks, Visual Studio Code’s multi-language notebook extension, is now generally available in the VS Code Marketplace!

Please note: While the Polyglot Notebooks extension in Visual Studio Code is now generally available, the .NET Interactive APIs that power it are still in preview.

If you’re not familiar with notebooks – stop here! A notebook is an interactive programming and computational file that supports mixing executable code, visualizations, equations, and narrative text. Contrary to scripts that need to be run in their entirety, notebooks have code cells that allow code to be run in an incremental and segmented manner. Popularized by the open-source Project Jupyter, you may have heard of these referred to as ‘Jupyter Notebooks’. The component responsible for running code in a notebook is a kernel, and traditionally, Jupyter Notebooks have been most commonly used with Python kernels. Their ability to quickly iterate on code and create visualizations with narrative text have led them to become the de facto tool for data science and great tools for teaching or learning a new programming language, and quick prototyping.

Polyglot notebooks elevate notebooks to a whole new level. Polyglot Notebooks’ philosophy is that developers should always be able to choose the best language for the task at hand and today using multiple languages in a traditional notebook is quite cumbersome. You may have a few options through magic commands and wrapper libraries, but both fall victim to a poor editing experience as they lack syntax highlighting, autocompletion and signature help. With Polyglot Notebooks, not only can you use multiple languages natively within the same notebook with full language server support, but you can also share variables between them to maintain a continuous workflow. No need to bounce around from tool to tool and manually transfer data between tools to continue your work.

Leave a Comment