VS Code の Polyglot Notebooks
ポリグロット プログラミングとは?
ポリグロット プログラミングとは、複数のプログラミング言語を使用し、それぞれの言語の長所をさまざまなタスクに活用する手法です。
Notebooks とは?
Notebooks は、実行可能なコード、視覚化、方程式、および説明文を混在させることができる対話型のファイルです。Notebooks はコードセルで構成されており、コードを素早く反復処理することが容易になります。オープンソース プロジェクト Jupyter によって普及し、Python データ サイエンス のデファクト ツールとなり、新しいプログラミング言語の教育や学習、および迅速なプロトタイピングのための優れたリソースとなっています。
Polyglot Notebooks
ポリグロット プログラミングとノートブックが出会うと、Polyglot Notebooks が生まれます! 通常 Python で使用される従来のノートブックとは対照的に、Polyglot Notebooks 拡張機能を使用すると、Visual Studio Code 内の同じノートブックで複数のプログラミング言語をネイティブに使用できます! ラッパー ライブラリやマジック コマンドを使用して、同じノートブックでお気に入りの言語を扱う必要はもうありません!
サポートされている言語
- C#
- F#
- PowerShell
- JavaScript
- HTML
- Mermaid
- SQL
- KQL (Kusto 照会言語)
機能
上記の言語のコードを実行するだけでなく、次のような機能も活用できます。
-
Microsoft SQL Server データベースおよび Kusto クラスターへの接続とクエリ。
-
IntelliSense、オートコンプリート、構文の強調表示などの言語サーバー サポートが各言語で利用できます。
-
ノートブック内での継続的なワークフローを保証する、言語間の変数共有。(変数共有は HTML と Mermaid では利用できません)
-
変数の状態と、変数が存在するサブカーネルを確認するための変数エクスプローラー。
-
Jupyter/JupyterLab との完全な互換性.
すべての機能について学ぶには、VS Code Marketplace の Polyglot Notebooks 拡張機能にアクセスしてください。
前提条件
VS Code で Polyglot Notebooks を使用するには、以下が必要です。
なぜ .NET SDK が必要なのですか?
Polyglot Notebooks 拡張機能は .NET Interactive を利用しています。.NET Interactive は、複数の言語を実行し、それらの間で変数を共有できる、.NET テクノロジで構築された最先端で革新的なエンジンです。Polyglot Notebooks では、このエンジンがノートブックのカーネルとして機能するため、.NET 9 SDK が必要になります。
はじめに
-
最初のポリグロット ノートブックを作成するには、コマンド パレット (⇧⌘P (Windows、Linux では Ctrl+Shift+P)) を開き、[Polyglot Notebooks: Create new blank notebook] を選択し、
.ipynb
を選択して、最初に使いたい言語を選択します。新しいファイルを作成して拡張子を
.ipynb
にすることでも、ノートブックを作成できます。この場合、右上でノートブックのカーネルとして [.NET Interactive] が選択されていることを確認してください。 -
デフォルトでは、追加されたセルは上のセルと同じ言語になります。言語を変更するには、セルの右下にある言語ピッカーを選択します。
-
コーディングを始めましょう!
データの操作
Microsoft SQL Server データベースおよび Kusto クラスターに接続してクエリを実行します。
データ ソースへの接続と操作に関する詳細な手順については、Working with Data ドキュメントをご覧ください。
言語サーバーのサポート
Polyglot Notebooks の各言語は、オートコンプリート、構文の強調表示、シグネチャ ヘルプなどの言語サーバー サポートにより、ファーストクラスの編集体験を提供します。
変数共有と変数エクスプローラー
#!set
コマンドを使用して言語間で変数を共有し、変数エクスプローラーを使用して各言語の変数の値を確認します。以前に #!share
コマンドを使用していた場合でも、引き続き機能します。グローバル ツールバーの変数アイコンを選択して、変数エクスプローラーを開きます。
変数共有の詳細については、Variable Sharing ドキュメントをご覧ください。
機能のリクエストとフィードバック
Polyglot Notebooks 拡張機能は .NET Interactive を利用しており、.NET Interactive の GitHub リポジトリでフィードバックを提供したり、問題を報告したりできます。