Polyglot Notebooks快速入门
想必大家都了解过Jupyter Notebook,这种文件最大的特点是,可以让代码、运行结果、文字说明,甚至结果图表都在同一个文档中,并且每个单元格可以只运行一个片段,就可以立即输出。这种格式,对学习、调试、演示、是非常友好的。作为一个.neter,今天隆重讲解一下.net领域的Notebook.Polyglot Notebooks,先来看下效果
写C#,用Display直接显示效果,清晰明了

写html,直接在下面渲染出效果

当然,也可以直接写Markdown

安装 VS Code插件
- 安装 C# 相关插件

- 安装 Polyglot Notebooks 插件

创建笔记:
- 使用 Ctrl/Cmd+Shift+P 快捷键,并选中 Polyglot Notebook: Create new blank notebook ,再依次选择文件后缀格式(.dib 或.ipynb),再选择编程语言(C#/F#/等)创建 Ployglot Notebook。
- 直接新建文件,文件后缀设置为 .dib 或 ipynb 即可。再点击
Selector Kernel选择.NET Interactive。
.ipynb VS .dib
.ipynb文件是Jupyter Notebooks引入的交互式Python笔记本文件格式,会存储执行结果,文件大小较大。
.dib文件是Polyglot Notebooks引入的新文件格式,文件相应较小,用于存储代码和文档,但不存储执行结果,易于版本管理。
安装Nuget 包
引用 Nuget 包:使用
#r "nuget:<package name>[,<package version>]"命令。#r中的r表示reference举例:●
#r "nuget: Microsoft.EFcore"引入最新已正式发布的包●
#r "nuget: Microsoft.EFcore, *-*"引入最新预发布版本的包●
#r "nuget: Microsoft.EFcore, 1.11.1"引入指定版本的包●
#r "SomeAssembly.dll"引入DLL文件指定 Nuget 源:使用
#i "nuget: {NugetSource}"命令。#i表示include source举例:#i "nuget:https://nuget.cdn.azure.cn/v3/index.json
1 | // 引入本地dll |
引入外部类文件
注意:在.NET Interactive 环境中不能定义命名空间!!!
1 | using System.ComponentModel; |
1 | // 导入外部文件 |
禁用Warning
有一些正在试用阶段的库需要禁用Warning
1 | using Microsoft.SemanticKernel.Plugins.Core; |
交互式输入
1 | //交互式输入 |
当然,更简单的方法可以这样用#!set --name url --value @input:"请输入"
变量共享
Polyglot Note的一大优势就是可以使用多种语言,很多时候,我们需要将一个A语言的上下文传递到B语言种,如C#传到JS,这个时候就可以使用变量共享。
- 使用
#!set命令,--value代表要用哪些值,--name表示给值起的名称,比如最简单的方式#!set --name age --value 10,设置变量age为10

当然也可以直接在Polyglot的变量视图直接点击分享,会自动多出一个cell


呈现Mermaid图
Mermaid在展示流程图的时候经常用

用value来声明内容
可以直接用value来声明内容,方便后面直接调用
1 | #!value --name param --mime-type application/json |
然后用的时候在前面加上
#!share param --from value --as data

#!value --from-file data.json --name data也可以直接从外部文件中读取
跟踪cell的执行时间
直接使用#!time

HTTP请求
有时候需要测试接口啥的,可以直接使用

导出Markdown
很多时候,我们是需要导出markdown格式的,使用命令
jupyter nbconvert --to markdown 你的文件.ipynb
Polyglot Notebooks快速入门

