【RUST学习日记】第3课 IDE

简介: 【RUST学习日记】第3课 IDE

0x00 回顾


上一节咱们了解了Cargo,熟悉了Cargo的一些的常用命令。在生产环境中,咱们一般都使用Cargo来构建项目。尤其是一些复杂的程序。在接下来的章节中,所有的代码咱们都将使用Cargo来构建项目。 


0x01 Visual Studio Code


Visual Studio Code是微软推出的一款很强大的,免费的,跨平台编辑器,拥有非常丰富的插件。

下载并打开Visual Studio Code,搜索扩展插件rust


0a2653c851af460fa595bd959398a8f1.png


咱们安装的就是第一个,等待安装完成,重启Visual Studio Code即可。然后新建或者打开一个文件夹,我这里创建并打开了一个文件夹D:/StudyRust/003,然后在终端执行创建项目的命令,它会在我们的目录下创建一个Rust项目。


2d65d23f6d4748949b924e4057485923.png


我们有下面两种方式执行这个项目:


  • 终端执行cargo run
  • 右键VS Code工作区 - Run Code (默认采用rustc执行,不推荐)

执行过程和结果我就不多介绍了,跟咱们在命令行执行命令是一样的。如果需要调试Rust,还需要再下载一款插件Native Debug,这里也不多介绍了。


PS:其实Rust还有一款好用的插件,叫Rust-Analyzer,据说这款插件比上面介绍的还好用呢。大家可以对比下,具体安装方法可以百度下~ 


0x02 CLion或者IDEA


IDEA 我应该不需要过多的介绍了,一般做过开发的同学都知道这个软件,IDEA可以选择社区版(免费)。CLion是基于IDEA的一款专门开发C++的IDE,但是这款软件是收费的,有条件的同学可以使用。我这里以CLion为例演示,IDEA同样的操作。


6de278e6d6694ce5bb08e7e842b7e74b.png


安装并打开CLion,安装Rust插件并重启。


8ec4f2997fb246878c34ecd6d122b7c6.png


新建项目,默认即可,第一行的Location可以更改项目的位置,其余的默认即可。首次创建项目,会弹出提示选择toolchain,如果想更改toolchain,可以通过File - Settings - Build,Execution,Deployment -- toolchains中更改。


12c3b7f3f8814309a195c64f051d4445.png


我这里选择的是MSVC也就是图片中的Visual Studio 2013,当然你也可以选择MinGW那么第一节的有个问题答案也出来了,那就是我可以不安装Visual Studio去写Rust程序


34e8d716411043c08c7ffba9fbba23de.png


点击右上角的绿色三角符号即可运行代码,小乌龟则是调试代码,关于调试程序,下面会介绍。下方的Run工作区则是代码的运行结果,可以看到已经打印了Hello world!。


0x03 如何选择IDE


工欲善其事必先利其器。我在这里介绍了两款软件,当然编写Rust可不止这两款工具,EclipseVisual Studio等软件都有相对应的插件可以开发Rust。个人认为,如果你只是想了解下Rust那么Visual Studio Code就足够了,如果想继续深入学习,那么可以选择专业的IDE工具。当然,我并不是说Visual Studio Code不能做专业的开发,其实是可以的,但是还要配置下Debug工具,我比较懒,喜欢一劳永逸,为了方便后面的程序调试以及个人的使用习惯,接下来的文章都将以CLion为例来演示。选择IDE,自己用着舒服就可以,不要介意别人的评论


0x04 调试程序


下面出现的代码了解即可,后面章节会讲到。这里仅仅为了演示Debug

fn main() {
    let a = 5;
    let b = 6;
    let c = 7;
    let x = a + b + c;
    println!("a + b + c = {}", x);
    println!("Hello, world!");
}

上面是示例程序:求a + b + c的和。我们在每行代码的前面,我们可以单击下断点。然后点击右上角的小乌龟。


92ba0822ed0b46e1ae72df8a17d3a45b.png


左下角有个折断的箭头,代表单步执行(不会进入底层的代码),他右边的箭头也是单步调试,是单步进入,会进入到Rust的源码中去执行。后面的三个也是调试常用的命令,大家可以自己感受下区别。这里不多介绍了。


在下方右侧红框,显示了每个变量的值,可以很方便的查看每个变量的值。并且右键点击每个变量可以对其做一些操作,可以修改值,复制值等操作。接下来再介绍下LLDB


d79b274929334152a6d38be91e2d1be3.png


在左侧这些按钮很容易理解,第一个是执行到下一个断点处,第二个是暂停,第三个是停止运行程序,第四个按钮是查看当前项目所有的断点,第五个则是关闭所有断点,关闭不代表清空,只是让程序所有的断点失效。


dfc80ca9d8004e6c9ddc00e8448ffc6a.png


经常使用Xcode的小伙伴们,应该知道LLDB,他可以方便我们调试。如上面图片所示,我先用print a打印了a的变量,又使用expression a = 42,改变了a的值为42。

PS:有想深入了解LLDB的同学可以百度,我这里暂时也不多介绍了~

相关文章
|
6天前
|
存储 Rust 网络协议
【Rust学习】10_定义枚举
在这一章我们学习 枚举(enumerations),也被称作 enums。枚举允许你通过列举可能的 成员(variants) 来定义一个类型。首先,我们会定义并使用一个枚举来展示它是如何连同数据一起编码信息的。接下来,我们会探索一个特别有用的枚举,叫做 Option,它代表一个值要么是某个值要么什么都不是。然后会讲到在 match 表达式中用模式匹配,针对不同的枚举值编写相应要执行的代码。最后,我们将学习 if let 结构,另一个简洁方便处理代码中枚举的结构。
21 7
|
27天前
|
Rust 算法 安全
学习Rust
【10月更文挑战第13天】学习Rust
51 8
|
28天前
|
Rust 安全 算法
Rust的学习
【10月更文挑战第12天】Rust的学习
26 2
|
28天前
|
Rust 算法 安全
如何学习Rust编程?
【10月更文挑战第12天】如何学习Rust编程?
39 1
|
1月前
|
Rust API
【Rust学习】09_方法语法
结构体让你可以创建出在你的领域中有意义的自定义类型。通过结构体,我们可以将相关联的数据片段联系起来并命名它们,这样可以使得代码更加清晰。在 impl 块中,你可以定义与你的类型相关联的函数,而方法是一种相关联的函数,允许您指定结构体的实例具有的行为。 但是结构体并不是创建自定义类型的唯一方式:让我们转向 Rust 的 enum 功能,将另一个工具添加到你的工具箱中。
13 0
|
2月前
|
Rust 索引
【Rust学习】08_使用结构体代码示例
为了了解我们何时可能想要使用结构体,让我们编写一个计算长方形面积的程序。我们将从使用单个变量开始,然后重构程序,直到我们改用结构体。
89 2
|
2月前
|
存储 Rust 编译器
【Rust学习】07_结构体说明
**struct**或 ***structure***是一种自定义数据类型,允许您命名和包装多个相关的值,从而形成一个有意义的组合。如果您熟悉面向对象的语言,那么**struct**就像对象中的数据属性。在本章中,我们将比较和对比元组与结构体,在您已经知道的基础上,来演示结构体是对数据进行分组的更好方法。
24 1
|
2月前
|
Rust Linux Go
Rust/Go语言学习
Rust/Go语言学习
|
3月前
|
存储 Rust 安全
【Rust学习】06_切片
所有权、借用和切片的概念确保了 Rust 程序在编译时的内存安全。Rust 语言提供了跟其他系统编程语言相同的方式来控制你使用的内存,但拥有数据所有者在离开作用域后自动清除其数据的功能意味着你无须额外编写和调试相关的控制代码。
24 1
|
4月前
|
存储 Rust 安全
【Rust学习】04_所有权
所有权是 Rust 最独特的特性,对语言的其余部分有着深远的影响。它使 Rust 能够在不需要垃圾收集器的情况下保证内存安全,因此了解所有权的运作方式非常重要。在本章中,我们将讨论所有权以及几个相关功能:借用、切片以及 Rust 如何在内存中布局数据。
26 1

热门文章

最新文章