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服务器
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或浏览器中渲染。
错误
- 调用在另一个单元格中打印函数的调用将不会显示其输出