一、概念介绍
Polyglot Notebook是一个由微软开发的交互式编程环境,它允许用户在一个笔记中混合使用多种编程语言,如:C#、F#、Powershell、JavaScript、SQL、Python、R等。这个工具通过.NET Interactive引擎实现,旨在提高开发者在处理数据分析和机器学习任务时的效率和灵活性。
.NET Interactive官方文档:Github地址
Polyglot Notebook = 交互式编程笔记本 = Markdown + Coding
Jupyter Notebook是一个基于网页的交互式编程环境,它允许用户创建和共享包含实时代码、方程、可视化和解释性文本的文档。它支持多种编程语言,如:Python、R、Julia和Scala等。它广泛用于数据分析、机器学习、科学计算、教育和其他领域。
这两个 Notebook 都是交互式编程环境,但它们在支持的语言、多语言支持、变量共享、与Jupyter集成、交互式体验开发、安装和配置要求等方面有所不同。以下是两者的对比:
|------------|-----------------------------------|-----------------------------------------|
| 特征 | Jupyter Notebook | Polyglot Notebook |
| 支持的语言 | Python、R、Julia、Scala等 | C#、F#、PowerShell、JavaScript、SQL等 |
| 多语言支持 | 不支持 | 支持 |
| 变量共享 | 不支持 | 支持 |
| 与Jupyter集成 | 是Jupyter的原生环境 | 与Jupyter完全兼容,支持.ipynb文件格式 |
| 交互式开发体验 | 提供代码补全、文档提示、语法高亮等IDE特性 | 提供代码补全、文档提示、语法高亮等IDE特性 |
| 安装和配置要求 | 需要安装python | 需要安装.NET SDK、VSCode和Polyglot Notebook插件 |
| 主要使用场景 | 数据分析和机器学习、教育和学习、科研与论文撰写、Web开发与自动化 | 数据分析和机器学习、教育和学、Web开发与自动化 |
二、安装基础环境
1、安装VSCode
安装最新版的 VSCode
2、安装.NET9 SDK
安装 .NET9 SDK
3、安装Polyglot Notebooks扩展

4、Python/Dotnet/Node 版本信息一览
如果想在 Polyglot Notebook 中直接编写 Python 脚本,本地需要安装 Python 包,请按照下图所示安装环境,Python版本更高点也可以。

三、创建笔记
.ipynb VS .dib
- .ipynb 文件是 Jupyter Notebooks 引入的交互式Python笔记本格式,会存储执行结果,文件大小较大
- .dib 文件是 Polyglot Notebooks 引入的新文件格式,文件相对较小,用于存储代码和文档,但不存储执行结果,易于版本管理
方法1、使用 Ctrl/Cmd+Shift+P 快捷键,并选中 Polyglot Notebook: Create new blank notebook ,再依次选择文件后缀格式(.dib 或.ipynb),再选择编程语言(C#/F#/等)创建 Ployglot Notebook。
方法2、直接在 Welcome 页点击 New File... 创建文件,选择 Polyglot Notebook,再依次选择文件后缀格式(.dib 或.ipynb),再选择编程语言(C#/F#/等)创建 Ployglot Notebook。

如果是首次创建 Polyglot Notebook 文件,VSCode环境会自动安装 .NET Interactive,如下图所示:

四、注册Python Kernel
.NET Interactive Kernel 中默认不支持 Python、R,如下图所示切换 PowerShell 代码片段的语言时,可选列表中没有 Python、R,但我搜了一些网络上的文章都说支持 Python 、R语言。

从 VSCode 查看 Polyglot Notebooks 的介绍内容时也说支持 Python、R,那你有没有注意到 Python、R 这两种语言是蓝色可点击的状态,其实点击链接进入详情页按照说明操作即可让Polyglot Notebook 支持 Python、R。

Python 详情页的内容如下:

开头就是教你连接上Python Kernel,由于我本地没安装 Anaconda,所以使用的第二条命令,具体效果如下(由于我没用到 R 这里就不演示如何连接 R Kernel,大家可以自己尝试一下):

五、注意事项
如果使用上述方法无法连接上 Python Kernel,那可以尝试先在 VSCode 上安装如下几个扩展。因为我在使用 Polyglot Notebook 之前已经在 VSCode 上安装了 Jupyter Notebook 及其扩展,所以没遇到问题。(注:如果各位看官直接成功连接上 Python Kernel,那这一部分可跳过,如果遇到了问题可以试试这个办法)

六、总结
其实 VSCode 中 Polyglot Notebooks 的介绍内容已经教给大家怎么安装基本环境,一些稍微深入点的内容,虽然没直接给出,但都有明显的提示,比如:Python、R的超链接,只要我们耐心读一读里面的内容和.NET Interactive官方文档的内容,大部分问题都能得到解决。所以我还是鼓励大家遇到问题时,多思考、多尝试,不要从别人那得到答案时,才恍然大悟:原来也不太难嘛。这时一丢丢失望油然而生,心情估计要低落几秒钟。