如何通过vscode进行Rust编程与编译运行【教程】

发布时间 - 2026-01-16 00:00:00    点击率:
先确认 rustc 和 cargo 可用,再安装 rustup 工具链并配置 PATH;VS Code 只装 rust-analyzer 扩展;新建项目用 cargo new;运行代码优先用 cargo run。

安装 Rust 工具链前先确认 rustccargo 是否可用

VS Code 本身不编译 Rust,它依赖本地安装的 Rust 工具链。很多人装完插件就急着写代码,结果运行时报 command not found: cargorustc is not installed

  • 在终端执行 cargo --versionrustc --version,必须都能输出版本号
  • 推荐用 rustup 安装(官网 rustup.rs 提供的一键脚本),不要用系统包管理器(如 apt install rustc),后者常缺 cargo 或版本过旧
  • 安装后确保 $HOME/.cargo/bin(Linux/macOS)或 %USERPROFILE%\.cargo\bin(Windows)已加入 PATH,重启 VS Code 终端才能识别命令

VS Code 必装扩展:只留 rust-analyzer

别装 Rust(作者:kalitaalex)那个老扩展,它已弃用,和 carg

o 新版本冲突,会导致自动补全失效、跳转错乱、甚至保存时卡死。

  • 卸载所有其他 Rust 相关扩展,只保留 rust-analyzer(作者:matklad)
  • 安装后无需额外配置,默认即启用;若项目打开后没反应,检查右下角状态栏是否显示 rust-analyzer 正在加载,等待几秒
  • 如遇“no crates loaded”,尝试在项目根目录(含 Cargo.toml)下按 Ctrl+Shift+P → 输入 Rust Analyzer: Reload Workspace

新建项目别手动建文件夹,直接用 cargo new

VS Code 不是 IDE,没有“新建 Rust 项目”菜单。手建 main.rs 再配 launch.json 很容易漏掉依赖管理或构建配置。

  • 在终端中进入目标目录,运行 cargo new hello_world(会自动生成 Cargo.tomlsrc/main.rs
  • 用 VS Code 打开整个 hello_world 文件夹(不是单个 main.rs),否则 rust-analyzer 无法识别 crate 结构
  • 运行代码:终端中执行 cargo run;想调试,按 F5 → 选 Rust → 自动生成 .vscode/launch.json,但注意它默认不启用 args 或环境变量,需手动加

cargo runcargo build 的区别直接影响调试体验

很多人改完代码点 F5 却看不到最新输出,其实是没理解 Cargo 的构建行为。

  • cargo build 只编译,生成二进制到 target/debug/,不运行
  • cargo run 编译 + 运行,且默认启用增量编译;若源码未变,会直接运行上次构建产物
  • 调试时 VS Code 默认调用 cargo run,但如果你在 launch.json 中指定了 "program": "./target/debug/hello_world",就得先手动 cargo build,否则文件不存在
  • 开发中建议始终用 cargo run 启动,避免手动同步构建状态
fn main() {
    println!("Hello, world!");
}
Rust 的编译模型和工具链耦合紧密,VS Code 只是前端。路径没加对、扩展选错、项目结构不对——这三类问题占了新手报错的 80%。别在设置里反复折腾,先让 cargo run 在终端里跑通,再打开 VS Code。


# linux  # vscode  # js  # 前端  # json  # go  # windows  # 工具  # mac  # ai  # macos  # 环境变量  # win  # rust  # ide  # 很多人  # 自动生成  # 新建项目  # 都能  # 你在  # 很容易  # 不存在  # 就得  # 跳转  # 管理器 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  如何在宝塔面板中创建新站点?  iOS正则表达式验证手机号、邮箱、身份证号等  如何在宝塔面板中修改默认建站目录?  长沙做网站要多少钱,长沙国安网络怎么样?  香港服务器租用费用高吗?如何避免常见误区?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在七牛云存储上搭建网站并设置自定义域名?  如何快速搭建安全的FTP站点?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel如何自定义错误页面(404, 500)?(代码示例)  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  网站建设要注意的标准 促进网站用户好感度!  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  实例解析Array和String方法  网站页面设计需要考虑到这些问题  php485函数参数是什么意思_php485各参数详细说明【介绍】  如何快速搭建虚拟主机网站?新手必看指南  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  千库网官网入口推荐 千库网设计创意平台入口  如何在云主机上快速搭建多站点网站?  QQ浏览器网页版登录入口 个人中心在线进入  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  Laravel怎么调用外部API_Laravel Http Client客户端使用  如何挑选高效建站主机与优质域名?  JS中对数组元素进行增删改移的方法总结  如何用IIS7快速搭建并优化网站站点?  北京的网站制作公司有哪些,哪个视频网站最好?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何用wdcp快速搭建高效网站?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何在宝塔面板创建新站点?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel如何配置和使用缓存?(Redis代码示例)  深入理解Android中的xmlns:tools属性  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  如何快速建站并高效导出源代码?  如何确认建站备案号应放置的具体位置?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Android 常见的图片加载框架详细介绍  高防服务器如何保障网站安全无虞?