VS Code での Polyglot Notebooks
Polyglot プログラミングとは?
Polyglot プログラミングとは、複数のプログラミング言語を使用し、それぞれの言語の強みを異なるタスクに活用する実践です。
Notebooks とは?
Notebooks は、実行可能なコード、視覚化、数式、および記述テキストを混在させることができるインタラクティブなファイルです。Notebooks はコードセルで構成されており、コードを素早く反復処理するのに役立ちます。Jupyter というオープンソースプロジェクトによって普及し、Python データサイエンスの事実上のツールとなり、新しいプログラミング言語の学習や教育、迅速なプロトタイピングに最適なリソースとなっています。
Polyglot Notebooks
Polyglot プログラミングと Notebooks が出会うと、Polyglot Notebooks が誕生します!一般的に Python で使用される従来の Notebooks とは異なり、Polyglot Notebooks 拡張機能を使用すると、Visual Studio Code の同じ Notebook で複数のプログラミング言語をネイティブに使用できます。同じ Notebook でお気に入りの言語を操作するために、ラッパーライブラリやマジックコマンドはもう必要ありません!

サポートされる言語
- C#
- F#
- PowerShell
- JavaScript
- HTML
- Mermaid
- SQL
- KQL (Kusto Query Language)
機能
上記の言語のコードを実行することに加えて、次の利点があります。
-
Microsoft SQL Server データベースと Kusto クラスターへの接続とクエリ。
-
IntelliSense、オートコンプリート、構文ハイライトなどの言語サーバーサポート(各言語に適用)。
-
Notebook 内で継続的なワークフローを保証する、言語間の変数共有。(HTML と Mermaid では変数共有は利用できません)
-
変数の状態と、サブカーネルの変数が存在する場所を確認するための変数エクスプローラー。
-
Jupyter/JupyterLab 間での完全な移植性.
すべての機能については、VS Code Marketplace の Polyglot Notebooks 拡張機能をご覧ください。
前提条件
VS Code で Polyglot Notebooks を使用するには、次のものが必要です。
.NET SDK が必要な理由
Polyglot Notebooks 拡張機能は、.NET テクノロジー上に構築された最先端で革新的なエンジンである .NET Interactive によって駆動されており、複数の言語を実行し、それらの間で変数を共有できます。Polyglot Notebooks では、このエンジンが Notebook のカーネルとして機能するため、.NET 9 SDK が必要となります。
はじめに
-
最初の Polyglot Notebook を作成するには、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) を開き、Polyglot Notebooks: 新しい空のノートブックを作成 を選択し、
.ipynbを選択して、開始したい言語を選択します。新しいファイルを作成し、拡張子を
.ipynbにすることで Notebook を作成することもできます。この場合、右上で Notebook のカーネルとして .NET Interactive が選択されていることを確認してください。
-
デフォルトでは、追加されたセルは、その上のセルと同じ言語になります。言語を変更するには、セルの右下にある言語ピッカーを選択します。

-
さあ、コーディングしましょう!

データ操作
Microsoft SQL Server データベースと Kusto クラスターに接続してクエリを実行します。
データソースへの接続と操作に関する詳細な手順については、「データ操作」のドキュメントをご覧ください。

言語サーバーサポート
Polyglot Notebooks の各言語は、オートコンプリート、構文ハイライト、シグネチャヘルプなどの言語サーバーサポートにより、一流の編集エクスペリエンスを提供します。
変数共有と変数エクスプローラー
#!set コマンドを使用して言語間で変数を共有し、変数エクスプローラーを使用して各言語の変数の値を確認します。以前に #!share コマンドを使用していた場合、引き続き機能します。グローバルツールバーの変数アイコンを選択して、変数エクスプローラーを開きます。
変数共有の詳細については、「変数共有」のドキュメントをご覧ください。
機能リクエストとフィードバック
Polyglot Notebooks 拡張機能は .NET Interactive によって駆動されており、フィードバックや問題の報告は .NET Interactive GitHub リポジトリ で行うことができます。