#notebook #vs #running #run #kernel #requests #cell

bin+lib rustkernel

在VS Code Notebook中交互式运行Rust代码的内核

21个版本

0.0.21 2022年1月22日
0.0.20 2022年1月22日
0.0.17 2021年10月31日
0.0.1 2021年9月19日

#668 in HTTP服务器

MIT 许可证

14KB
202

Rustkernel

简介

这个内核主要为了运行由VS Code Notebook生成的代码,它接收以Rust代码形式以及VS Code Notebook单元格信息为请求。数据在服务器运行期间保存在内存中,它打算在本地运行,因为它使用原始TCP而没有HTTP。

目前它仅用于 VS Code扩展 - Rustnote

目前仍处于实验阶段,还有很多功能要添加。

快速入门

在端口8787上启动服务器并等待请求

cargo install rustkernel 
rustkernel

Rust <-> VS Code通信

VS Code和Rust使用utf8通过TCP进行通信,它不遵循http协议,因为它仅在本地上运行。Nodejs代码中没有依赖项,这是为了将扩展的大小保持在最小,并最小化Rust首次运行时的编译时间。

目前正在工作

  • - 接收Rust代码,运行它并返回stdout / stderr
  • - 与VS Code Notebook功能协同工作,例如单元格顺序可能会更改
  • 如果笔记本运行所在的文件发生变化,则重置状态
  • use移动到fn main体外部
  • 将所需的crates添加到cargo.toml
  • 预先缓存最受欢迎的crates,作为可选的背景进程运行此操作
  • 环境变量设置端口号
  • 转移到Web框架以获得安全功能
  • 使用traits允许从VS Code或从浏览器中使用
  • 在请求中,如果最后一个项目是表达式,则以格式化的HTML返回调试/格式化输出,可以在VS Code或浏览器中渲染。

错误

  • 调用在另一个单元格中打印函数的调用将不会显示其输出

没有运行时依赖项