在VS Code的notebook中编写Rust代码

2023-05-16

目录

背景

前提条件

操作步骤


背景

在VS Code的notebook中编写Rust代码,听起来就觉得绕。

VS Code已经有Rust插件,支持编写Rust代码,为什么搞这么复杂?

为了综合两者的优点,提高Rust编程效率:

1. VS Code代码补全、提示等功能都非常强大,极大提高写代码的效率;

2. notebook可以单元格为单位独立运行,调试程序很高效;

前提条件

1. VS Code已经安装Rust插件和jupyter插件

2. 已安装Rust环境,以及evcxr_jupyter

操作步骤

打开VS Code,打开jupyter文件,点击右上角 "Select Kernel" 在选择框中没有发现Rust kernel

但是最后一项是 "Existing Jupyter Server ...",那是不是可以启动jupyter, 然后VS Code连接上就可以了呢?

在终端中启动jupyter-lab,在命令行输出中找到jupyter的地址。

 然后在VS code的kernel选择框中,填入jupyter 地址

可以给远程Jupyter服务命名,也可以直接回车默认以URL命名。

连接成功后,在下拉框中列出远程jupyter支持的kernel,选择Rust ~/cargo/bin/evcxr_jupyter

在notebook单元格中输入如下命令,运行命令,成功!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在VS Code的notebook中编写Rust代码 的相关文章

  • 对结构方法中的借用错误感到困惑

    我正在尝试为游戏中的实体系统编写一些代码 但出现此错误 因此我将代码浓缩为执行相同操作的代码 在实际代码中出现相同的错误 我不明白为什么编译器告诉我对self my list当函数超出范围时baz完成 我的 Rust 版本是rustc 1
  • Rust 期货中的“then”、“and_then”和“or_else”有什么区别?

    我正在学习使用 Rust future 我发现它非常令人困惑 我觉得我很蠢 但什么时候才能then and then and or else使用 预期返回什么类型 请提供一些您希望看到的不同情况的示例 TL DR then当你想做某事而不管
  • 如何在不消耗值的情况下实现添加特征[重复]

    这个问题在这里已经有答案了 当实施Add特质 还有其他一些 比如Mul Sub等 对于一个简单的结构体 必须完全消耗该结构体值 因此它的后续使用是不可能的 同时 内置原语 u8 usize等 实施Add同时允许之后使用它add被称为 我该如
  • 声明 for 循环变量时 &mut 会做什么吗?

    考虑以下 愚蠢的 程序 fn main let mut array mut 1u8 2u8 3u8 for mut value in array 它编译并运行正常 尽管如预期的那样警告未使用的变量 不必要的可变性 但有什么作用 mut做在f
  • clap::App 多次调用方法移动所有权

    即使阅读了有关引用所有权和借用的章节后 我仍然无法理解以下代码中的某些内容 这有效地阻止了我从clap App extern crate clap use clap App fn main let mut app App new name
  • 如何固定板条箱的间接依赖关系?

    我的项目 A 依赖于库 B 而库 B 又依赖于库 C 库 B 将依赖版本设置为 任何 所以 Cargo 将下载最新版本的 C 我如何指示 Cargo 使用特定版本的库 C 构建库 B 我正在尝试建立iron https github com
  • 为外国类型实现外国特征[重复]

    这个问题在这里已经有答案了 因此 我认为出于前向兼容性考虑 以防止在库中添加进一步的特征实现破坏使用类型特征的地方 有理由禁止孤立特征实现 并且它可能使编译变得更加困难 但我想知道 Rust 社区认为哪种解决方法是最理想的 以防万一这还不够
  • for 循环和 into_iter() [重复]

    这个问题在这里已经有答案了 据我了解 for循环隐式调用into iter 在向量上循环遍历它 但是 在下面的代码中 为什么vec在 Question1 1 的第一个 for 循环中没有消耗 但在第二个 for 循环中 vec 消耗了 fn
  • serde_json::from_str 错误,其中字符串来自文件

    extern crate serde json use serde json Value use std fs File use std io prelude fn main let filepath map test anhui txt
  • 如何在 Rust 中获取向量的每个子集?

    在 Rust 中获取向量的每个子集的最简单 最惯用的方法是什么 let v vec 1 2 3 assert eq subsets v 1 2 3 1 2 1 3 2 3 1 2 3 您正在搜索的内容称为powerset https en
  • 重新分配可变变量时是否调用析构函数?

    假设我定义了一个可变变量 它可能是一些复杂的结构 其中包含向量或其他动态分配的数据Drop特征 重新分配该变量时 析构函数是否在重新分配后立即调用 let mut x some complex struct while some condi
  • 解析 Rust FFI 中的联合结构

    我在解析 c union 结构 XEvent 时遇到问题 我正在 Rust 中试验 Xlib 和 X Record Extension 我生成 ffi 绑定Rust 绑定根 https github com crabtw rust bind
  • Rust 中类似结构的重复代码删除

    我有一个小项目 其中有一些类似的结构 其中的实现Ord and PartialOrd是一样的 我是 主要 动态语言的新手 其中代码重复通常被认为是反模式 我想知道是否有办法避免重复此代码 或者 更一般地说 这是我应该担心 Rust 的问题吗
  • 为什么在闭包参数中使用“&&”?

    我有两个问题这个例子 https doc rust lang org std iter trait Iterator html method find let a 1 2 3 assert eq a iter find x x 2 Some
  • 在没有 std 的情况下将 *mut u8 转换为 &[u8]

    我正在为 WebAssembly 编写 Rust 代码来处理来自 JavaScript 的字符串 由于 WebAssembly 没有真正的字符串类型 因此我尝试传递一个指向 WebAssembly 内存对象的指针 该对象指向 UTF 8 编
  • 对于易出错的转换, impl TryFrom for Foo 与 impl From for Result 有何优缺点?

    从 Rust 1 34 开始 我们可以通过实现以下方法来编写类型之间的错误转换TryFrom trait struct Foo i32 struct Bar impl TryFrom
  • Rust:根目录中没有“模块”

    当我跑步时use crate feed in src cmdline rs我希望导入src feed rs 但事实并非如此 相反我得到 error E0432 unresolved import crate feed gt src cmdl
  • 为什么 String 不实现 From<&String>?

    背景 我知道 Rust 人们更喜欢 str而不是 String 但在某些情况下我们只得到 String 一个例子是当你打电话时std iter Iterator peekable 返回值是一个Peekable i 将原始迭代器包装到其中并为
  • Box、ref、&、*的理解及关系

    我对 Rust 中的指针如何工作有点困惑 有ref Box 而且我不确定他们如何一起工作 目前我的理解是这样的 Box并不是真正的指针 它是一种在堆上分配数据并在函数参数中传递未调整大小的类型 尤其是特征 的方法 ref在模式匹配中用于借用
  • 如何关闭某个代码区域而不是单个项目的 rustfmt?

    rustfmt skip 允许您在格式化时跳过代码 块 https github com rust lang rustfmt issues 1322 但这需要把skip在各个 而不是 Clang 风格on off 考虑这段代码 fn add

随机推荐