VS Code多语言笔记本扩展插件 Polyglot Notebooks

早在2022年12月12日,微软就发布了VS Code的多语言笔记本扩展插件 Polyglot Notebooks,所使用的引擎为. NET Interactive,目前支持包括C#、F#、PowerShell、JavaScript和SQL等多种语言。让数据科学家能够简单执行跨语言任务,就像是使用SQL查询SQL Server数据库,并将表格结果共享至JavaScript和HTML,创建可互动可视化的应用。

Notebooks是一种方便使用的交互式程序开发工具,可用于执行代码、可视化数据、执行方程式,或是编写纯文字,Notebooks的特性是让用户能以增量的和分段的方式,执行单元格内的程序。最有名的Notebooks来自Jupyter项目,多数人会结合Python和Jupyter Notebooks一起使用,快速迭代代码,以创建具有文字和数据可视化的内容,也可成为学习程序编程语言,或快速制作概念原型的工具。在2019年,微软通过创建支持C#、F#、PowerShell等.NET语言的Jupyter核心,将.NET带入Jupyter生态系统,而微软所开发的Polyglot Notebooks,则进一步扩展Notebooks的优点,过去开发者要在Notebooks上使用多种语言非常麻烦,难以使用一般IDE语法高亮显示和自动完成等功能。

Polyglot Notebooks扩展插件使用.NET技术所开发的.NET Interactive引擎,由于该引擎可充当笔记本中不同编程语言的核心,因此使得Polyglot Notebooks能够顺畅以多种语言进行开发,就像是连接SQL Server数据库和Kusto集群,并使用SQL或是KQL编写和执行查询。

开发者可在同一个笔记本中使用多种语言,并获得良好的开发体验,而不需要在使用多种语言时,在不同的工具间切换,当以一种语言完成工作时,开发者便可以将需要的变量共享给另一种语言,继续在同一个文件里进行开发。

安装

Polyglot Notebooks是一个 Visual Studio code 扩展。要使用它,您需要:

  • 安装.NET 7

  • 安装 Visual Studio Code (VS Code)

  • 启动VS Code 并安装 "Polyglot" 插件. 

安装完毕之后,我们可以有两种开启方法:

  • 新增 ipynb 文件再切换到 .NET Interactive 引擎 (ipynb 文件是用于编写 IPython Notebook 的文件,也就是 Jupyter Notebook 在使用的文件。而微软把 .NET Interactive 引擎让 Jupyter Notebook 可以支持 C#, F#, SQL 等语言,让 Notebook 可以支持多语言的编写)

  • 使用 Polyglot Notebooks 的指令或快捷键,直接建立 dib 或 ipynb 文件

增一个 ipynb 文件:

现在我们已经可以看到让我们编码的单元格了,这样就完成准备工作啦!首先当然要从 Hello world 开始啦,让我们直接在单元格里面开写:

单元格的右下角可以让我们切换语言

例如说我们可以来个 JavaScript:

当然我们并不是只有这一个小小的单元格能用,可以按下左上角的「+code」来添加代码单元格,或是把鼠标移到单元格最底部,会出现执行之后帮你往下新增一格的按钮:

现在我们可以同时放上两个语言:

我们也可以针对某一格来执行,或是用鼠标选择指定的单元格,就可以选择执行指定的单元格以上或以下的部份,如果有修改某一格,然后要从修改的部分重跑一次的时候还挺方便的。此外还有复制贴上单元格、合并单元格等等操作,可以在下图右边红框的「...」找到,这边就不再赘述。

插入 Markdown 单元格

眼尖的朋友应该发现了,上面新增单元格的地方除了「+ code」以外,还有「+Markdown」的选项,毕竟 Polyglot Notebooks 这东西还是一本「笔记本」,只能贴 Code 不能写笔记还算什么笔记本呢,对吧?

因此我们可以在代码区块之间适当地加入 Markdown 区块,来提供需要的信息,或是纪录需要的笔记。让我们编写的过程可更有条理,之后回来阅读也可以更快掌握内容。

除了在最底下新增单元格的做法以外,我们也可以对指定的区块上下来插入新单元格:

我们很多情况并不会只用内置的语法就完成,通常还会安装一些 Nuget 组件来直接帮我们解决问题,在 Polyglot Notebooks 里面,我们要安装 Nuget 组件,要使用 #r “nuget:{套件名称}” 的指令

例如我想要安装 这个套件包Microsoft.SemanticKernel,我就可以这样写:

小结

这篇记录了 Polyglot Notebooks 的基本用法,能像 Python 的 Jupyter NoteBook 逐步对资料进行处理,又有 C# 的 Linq 能用,用这东西写个爬虫之类的小脚本,边跑随改实在是舒适的体验,用来学习算法之类的就很不错了。

原文地址 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值