安装Rust及VSCode环境设置(Windows 10) | 您所在的位置:网站首页 › rust卸载 › 安装Rust及VSCode环境设置(Windows 10) |
(历经200多次修改 ,只为更好的内容) DCjanus和CrLF0710的帮助让这一篇教程成为可能,在此致以真挚地感谢 目录:0.试用rust 安装Rust 安装VScode编辑器及语言服务器 安装调试工具和插件 建立项目并进行调试设置 附录:rustlings的使用 〇、试用Rust如果你只是想试试Rust的语法,请点击(手机也可以) Hello World - 通过例子学 Rustrustwiki.org 打开后如下,代码块中的代码可以修改,点击代码块右上角三角形图标运行。 1.下载rustup-init.exe(Rust安装工具) 点击下载rustup-initwin.rustup.rs 2. 使用镜像加速rustup安装 打开Powershell(Win+X +A)执行(执行完不要关闭,后面还会多次用到): [environment]::SetEnvironmentvariable("RUSTUP_DIST_SERVER", "https://mirrors.ustc.edu.cn/rust-static" , "User") [environment]::SetEnvironmentvariable("RUSTUP_UPDATE_ROOT", "https://mirrors.ustc.edu.cn/rust-static/ rustup", "User") 参考链接:https://http://lug.ustc.edu.cn/wiki/mirrors/help/rust-static 3. 安装Rust:打开rustup-init.exe 如果出现安装程序未经微软验证,点击install anyway(立即安装)即可。 [图片上传失败...(image-ec24b7-1602307315541)] 安装有2种选择,gnu或者msvc工具链 gnu(本文使用MinGW-w64)占用空间小(500M),对于初步的rust使用足够了。 msvc(本文使用Visual Studio Build Tools,包含msvc,clang等)占用空间大(2G)。已经安装了Visual Studio的选择msvc,已经有MinGW-w64或者msys2,或者不想占用太多空间的使用gnu。 更多区别见这个讨论 GCC/G++、ICC、Clang、MSVC、BCC等C/C++编译器有什么特长和不足?www.zhihu.com[图片上传失败...(image-13f825-1602307315539)] gnu依次输入(注意每行需回车执行): 2 x86_64-pc-windows-gnu nightly(想用最新的功能就用nightly(每夜版),也可以选择stable(稳定版)) 一路回车即可,直到看到正在下载中(有kb/s的字样)msvc依次输入: 2 x86_64-pc-windows-msvc nightly(想用最新的功能就用nightly(每夜版),也可以选择stable(稳定版)) 一路回车即可,直到看到正在下载中(有kb/s的字样)这里只是安装了Rust,这两种工具链到第三部分再下载安装。 Rust卸载: rustup self uninstall打开Rust本地文档: rustup docRust中文文档地址:Rust 程序设计语言 简体中文版 4. 安装标准库源码 语言服务器需要源码,打开powershell执行: rustup component add rust-src5. 使用镜像加速cargo包下载: 打开Powershell执行: "[source.crates-io] registry = 'https://github.com/rust-lang/crates.io-index' replace-with = 'ustc' [source.ustc] registry = 'https://mirrors.ustc.edu.cn/crates.io-index/' "|Out-File -Encoding utf8 $home\.cargo\config脚本在用户目录.cargo目录下新建了文件config,用中科大镜像加快cargo包下载。 cargo类似于npm,是 Rust 的构建系统和包管理器。 参考链接:https://http://lug.ustc.edu.cn/wiki/mirrors/help/rust-crates 6. 设置cargo环境变量(以后的rustup可能会自动设置) 打开Powershell执行:
1️⃣. 安装VSCode https://http://code.visualstudio.com/code.visualstudio.com 2️⃣. 安装语言服务器 有2种选择,推荐rust-analyzer rls(rust language server)安装简单(新手推荐,安装后还是可以再安装rust-analyzer) rust-analyzer(官方维护的rls 2.0)安装会多几个步骤(需要安装node.js,需要下载语言服务器,需要在vscode的setting.json中进行设置)可以参考 PrivateRookie:VSCode 使用 rust-analyzerzhuanlan.zhihu.com (一)路线:rls 安装rls安装语言服务器,执行 rustup component add rls rust-analysis2.安装Rust(rls)插件 点击下面的链接,打开网页后点击install按钮,这会打开vscode,然后install即可 https://http://marketplace.visualstudio.com/items?itemName=rust-lang.rustmarketplace.visualstudio.com (二)路线:rust-analyzer 1. 安装node.js 后续的rust-analyzer需要安装node.js,下载地址: https://http://nodejs.org/dist/v12.16.0/node-v12.16.0-x64.msinodejs.org 2. 下载rust-analyzer 点击链接下载语言服务器rust-analyzer-windows.exe rust-analyzer releasegithub.com 下载速度慢的话,可以使用2020年5月11日的版本(使用百度网盘下载),然后再慢慢下载新版本 链接: https://http://pan.baidu.com/s/1jY0qhtxu0lSrerdpCSdDiw 提取码: v3py 安装和使用说明还可以参考(推荐完整完成后观看,有很多有用的功能,文末也有链接): https://http://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/features.md PrivateRookie:VSCode 使用 rust-analyzer 3. 安装rust-analyzer插件 a. 移动 rust-analyzer-windows.exe把前面下载的rust-analyzer-windows.exe放到"C:/Users/你的用户名/.cargo/bin/文件夹下(注意:替换你的用户名。) b. 安装rust-analyzer插件点击下面的链接,打开网页后点击install按钮,这会打开vscode,然后install即可 rust-analyzer - Visual Studio Marketplacemarketplace.visualstudio.com 安装后出现:没有找到语言服务器,是否下载?点击Cancel(下一步手动设置) [图片上传失败...(image-ea5ea8-1602307315541)] c. 插件设置语言服务器路径vscode中按下F1,输入open settings,选择图中无Default字样的 在setting.json最后一行添加语言服务器的路径,注意替换[你的用户名] "rust-analyzer.serverPath": "C:/Users/你的用户名/.cargo/bin/rust-analyzer-windows.exe", 3️⃣. 安装TabNine插件(rls和rust-analyzer都推荐安装) 这是一个人工智能补全工具,会给出很多代码补全提示,很多时候只需要一直Tab TabNine - Visual Studio Marketplacemarketplace.visualstudio.com 后面四.2部分会讲到如何激活Rust的人工智能补全。 三、安装调试工具和插件如果你不进行断点调试(或不知道它),只需要安装调试工具,不需要安装插件。 gnu调试工具和插件 msvc调试工具和插件根据安装rust时的选项,gnu和msvc工具链二选一。 (一)路线:gnu工具链 这里我们选择简单的mingw-w64,还可以选择msys2等。 1. 安装MinGW-w64 下载MinGW-w64点击下载MinGW-w64nchc.dl.sourceforge.net 设置选项(64位)[图片上传失败...(image-f3515f-1602307315541)] 安装并设置环境变量(!请使用默认路径安装,否则请手动设置环境变量)使用powershell设置环境变量
我们要用的是MinGW-w64中的gdb调试工具 32位或详细设置请参考此文:C语言关注:MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本 2. 安装插件Native Debug(gnu工具链) 安装步骤同rust-analyzer插件 https://http://marketplace.visualstudio.com/items?itemName=webfreak.debugmarketplace.visualstudio.com (二)路线:msvc工具链 下载安装Visual Studio 2019 生成工具(build tools)Thank you for downloading Visual Studio - Visual Studiovisualstudio.microsoft.com 运行后,选择c++ 生成工具,安装即可 [图片上传失败...(image-f43d56-1602307315541)] 如果你已经安装了Visual Studio,就无需安装build tools, 直接在工具——获取工具和功能中,勾选c++桌面开发,安装即可 [图片上传失败...(image-8dd0fd-1602307315541)] 2. 安装插件C/C++ C/C++ - Visual Studio Marketplacemarketplace.visualstudio.com 还有一个CodeLLDB插件,安装之后就不需要安装上面两类工具链和插件(需要python3.5+),但是安装插件之后下载它的依赖项时非常慢,网速快的人可以试试。 四、建立项目并进行调试设置 创建项目并打开 激活TabNine对Rust的补全 进行项目的调试设置(使用断点调试) 试验调试功能(使用断点调试) F5一键运行1 .创建项目并在VSCode里打开 比如hello_world,以测试调试功能 在vscode中按下 **Ctrl + ` **(键盘Tab上面的键)打开powershel 切换到你想创建项目的目录(比如D:) 使用cargo创建项目(否则vscode会提示缺少Cargo.toml文件)cd d: cargo new hello_world 使用Open Folder按钮打开你的hello_world目录 单击列表中的main.rs文件,打开它第1部分操作https://www.zhihu.com/video/1180629229510811648 2. 激活TabNine对Rust的补全 TabNine的人工智能补全,需要在相应编程语言的文件里编辑模式下输入TabNine::sem打开 [图片上传失败...(image-28513-1602307315541)] 这样.rs中文件输入后,会打开Rust的人工智能补全 如果影响性能,可以输入TabNine::nosem关闭 如果你使用的是rust-analyzer,TabNine还会自动安装rls和racer等 3. 进行项目的调试设置(不使用断点调试请跳过): 打开调试窗口(左侧昆虫图标) 点击设置图标(齿轮) 选择弹出的GDB(msvc为) 修改launch.json中的target项(msvc为program项),并添加 preLaunchTask项a. 路线:gnu 选择弹出的GDB 修改launch.json中的target项,并添加 preLaunchTask项"target": "./target/debug/${workspaceFolderBasename}.exe", "preLaunchTask": "build", b. 路线:msvc 选择弹出的c++ windows 修改launch.json中的program项,并添加 preLaunchTask项"program": "./target/debug/${workspaceFolderBasename}.exe", "preLaunchTask": "build", 两种路线都需要VSCode自动生成tasks.json(选择从template生成—>others) 修改tasks.json中的label项和command项为"label": "build", "command": "cargo build", 第2部分操作https://www.zhihu.com/video/1180776456249159680 4. 修改main.rs的内容,并在每行前点击出红点(断点),以方便观察调试功能(不使用断点调试请跳过) fn main() { let mut a = 0; a = 1; a = 5; a = 7; println!("Hello, world!"); } 第3部分操作https://www.zhihu.com/video/1180631885650321408 Tip:VSCode调试时,把鼠标挪动到变量上面,可以显示当前变量值。图中把鼠标移动到实例self上,悬浮窗显示了self的值 [图片上传失败...(image-f5aba-1602307315540)] 想要不编译直接运行时,在当前目录下中运行 cargo run命令即可 可以使用rust的gdb_rust_pretty_printing,在调试中enums, slices, vectors等结构会更好地显示,但也有人觉得在windows上使用这个功能不好,有时会导致长时间的暂停或卡死具体参考how-to-set-up-gdb-for-debugging-rust-programs-in-windows 5. F5一键运行 如果你感觉每次都去点切换debug窗口比较麻烦,或者不需要断点调试,请参照此部分设置。 如果你还没有tasks.json文件,请在命令面板(Ctrl+Shift+P或F1)输入 configure task ,选择修改tasks.json内容为(也可以增加其他task,运行时根据label(标签)进行区分) { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "run", "type": "shell", "command": "cargo run", "problemMatcher": [] }, { "label": "build", "type": "shell", "command": "cargo build", "problemMatcher": [] }, { "label": "release", "type": "shell", "command": "cargo build --release", "problemMatcher": [] }, { "label": "check", "type": "shell", "command": "cargo check", "problemMatcher": [] }, { "label": "test", "type": "shell", "command": "cargo test", "problemMatcher": [] }, ] } 打开快捷键设置(Keyboard Shortcuts) [图片上传失败...(image-95d4de-1602307315540)] 输入task,出现下图 找到图中的Tasks:Rerun Last Task,给它设置快捷键F5。具体方法是双击该条目,出现提示框后按下F5,然后再按回车。 注意:这会覆盖自带的F5的编译命令,如果你需要使用断点调试,也可以使用其他键代替比如Ctrl+F5 在该条目上点右键,选择Change When Expression 复制粘贴editorTextFocus && editorLangId == 'rust' 这样就只有rust语言中按下F5才是这个功能。 同样,把Tasks:Run Task设置为Ctrl+F5(上面如果rerun task为Ctrl+F5,这里就改成其他键),同样需要修改when只在Rust中运行。 我们再来说说这个功能怎么用。打开main.rs,然后按下Ctrl+F5,会出现run, build,release,check,test(我们定义的task+项目名),选择按下回车确认就行了。 run 是直接运行 build是编译 check 是编译,但不生成可执行文件,比build速度快(用来检查是否有错误) release是按最高性能编译(比build速度慢,用来发布使用,平时没有必要使用) test是测试关于build和release的性能详细区别,见这篇文章 雾色:Rust中的零成本抽象(二)(部分翻译)zhuanlan.zhihu.com[图片上传失败...(image-b2b800-1602307315539)] 这样控制台会自动运行你选择的命令,vscode没有关闭前,下次按下F5会运行上次命令,不再需要选择。这样我们能快速的运行该命令查看输出,不需要手动切换到debug界面。 如果你安装的是rust-analyzer,它附带一个命令 rust-analyzer:run,也可以在命令面板(Ctrl+Shift + P)运行或者设置快捷键: 它会显示提示窗口,并运行当前位置的二进制或者测试. 在运行重复的单个测试时非常有用,请把这个绑定到快捷键! 五、附录:rustlings的使用(强烈推荐) 安装rustlings 使用rustlings 根据编译错误修改文件以通关 总结与Tiprustlings是官方的教学游戏,它的玩法类似解密游戏。通过解决程序中的错误通过关卡。 它作为和文档、rust-by-example三足鼎力的新手入门教程,确实让人感觉到好玩、惊艳。 安装rustlings在powershell中执行,选择y set-executionpolicy remotesigned接着执行(注意cd到你想放项目的文件夹) cd 如果失败的话,请手动下载安装(先cd到你要存放rustlings的位置) git clone https://github.com/rust-lang/rustlings cd rustlings git checkout tags/2.1.0 # or whatever the latest version is (find out at https://github.com/rust-lang/rustlings/releases/latest) cargo install --force --path . 如果有安装错误,确保工具链是最新的: rustup update2. 使用rustlings rustlings的题目顺序为,请先看过教程再来答题(中文教程见文末链接) 变量 if条件 函数 原生类型 结构体 枚举 模块 宏 引用和借用 错误处理、option和result 标准库 其他使用答题功能,需要在rustlings目录下执行 rustlings watch建议在vscode中打开这个文件夹,然后每次在powershell中运行。 [图片上传失败...(image-2bd5be-1602307315539)] 3. 根据弹出的编译错误修改exercises中的文件 rustlings会根据概念难易的顺序逐个编译文件,当编译错误的时候,你需要去修正该错误文件并保存。 注意:不要关闭rustlings watch运行的窗口,它会自动检测你修改保存的文件 修改完成之后,如果要跳至下一关,则需要把当前关文件中的该行注释删除保存。 //I AM NOT DONE 4. 流程总结与Tip 流程就是: 看文档 再看example 再刷rustlings通关注意:在exercises文件夹的每个分类中,都有一个README,里面有当前分类对应的rust-by-example的地址,推荐先看再做题(网页是英文的,可以自己打开中文网页,见文末) Rust中文文档地址:Rust 程序设计语言 简体中文版 提示:弹出编译错误时,在VSCode中按住Ctrl点击该文件名,会直接打开该文件 [图片上传失败...(image-378ebc-1602307315539)] 如有错误,请不吝告知! 觉得好的话,请点赞收藏!让知乎呈现更多你喜欢的东西。 如果你是初学者的话,建议把本网页添加到浏览器书签(Ctrl+ D),可以经常浏览下面的常用链接。 常用链接:英文文档: rustup docRust 程序设计语言 中文版(深圳加速站)120.78.128.153Rust By Example 中文版rustwiki.orgCargo - Cargo 中文文档cargo.budshome.comrust-analyzer featuresgithub.comPrivateRookie:VSCode 使用 rust-analyzerzhuanlan.zhihu.com DCjanus:【新手向】从零开始配置Windows下Rust开发环境图解zhuanlan.zhihu.com |
CopyRight 2018-2019 实验室设备网 版权所有 |