#notebook #vs #cell #output #run #requests #running

bin+lib ultnote

从 VS Code Notebook 中获取代码并运行,返回输出和错误信息

2 个版本

0.0.20 2022 年 1 月 25 日
0.0.1 2022 年 1 月 23 日

#885 in HTTP 服务器

MIT 许可证

14KB
202

Ultnote

简介

目前它仅运行由 VS Code Notebook 生成的代码,接受以 Rust 代码形式以及 VS Code Notebook 单元信息的形式的请求。只要服务器在运行,数据就会保留在内存中,它旨在本地运行,因为它使用原始 TCP 而不是 HTTP。

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

这仍然处于实验阶段,还有许多功能要添加。

快速入门

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

cargo install ultnote 
ultnote

Rust <-> VS Code 通信

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

目前正在进行中

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

无运行时依赖项