写给前端看的Rust教程(3)配置Visual Studio Code

4,796 阅读3分钟

原文:24 days from node.js to Rust

前言

Visual Studio Code 一出场便在JavaScript生态系统中占据着举足轻重的地位,Rust的插件虽然不如JavaScript那般丰富,但增长的势头也是显而易见的,其中一些重要的功能已经支持的较好:

  • 代码补充/智能提示
  • 警告提示
  • 调试
  • 自动化的代码重构
  • 自动化的文档提示
  • 跳转到定义处、代码执行、类型支持等

核心配置

Visual Studio Code下的Rust生态有两个比较重要的插件:Rustrust-analyzer 。二者的功能类似,不过后者的可靠性更好一些,更新也更加活跃。需要留意的是这两个插件不能同时使用,如果都安装了,你需要禁用其中一个。

rust-analyzer 下载完毕之后就能使用了,不过注意他还需要从github下载额外的文件,此时留意你的github token是否过期,过期的话会导致安装失败,重新输入token即可。

可视化配置

可以通过UI界面或者JSON方式对插件进行配置,执行Ctrl+Shift+P命令后可以进行选择

image.png

额外的lint工具

默认情况下rust-analyzer会在文件保存时通过运行cargo check来收集错误信息,cargo check的本质是通过编译项目获取报错的。如果你想更近一步,你需要clippyclippy类似ESLint,我们可以通过rustup component add clippy命令进行安装(默认情况下已安装)。

我们可以手动运行cargo clippy或是通过rust-analyzer运行clippy来获取额外的报错信息。当然代价是速度会更慢一些,不过还是值得的。在实践中发现clippy是学习Rust不可获取的工具之一,它经常会给出一些更自然高效的写法。

我们可以通过如下方式配置clippy

{
  "rust-analyzer.checkOnSave.command": "clippy"
}

关闭额外的提示

image.png 有些人可能会觉得rust-analyzer的内嵌提示过细,内容太多,我们可以通过如下方式来关闭提示:

{
  "rust-analyzer.inlayHints.enable": false,
  "rust-analyzer.inlayHints.chainingHints": false,
  "rust-analyzer.inlayHints.parameterHints": false
}

自动更新

默认情况下rust-analyzer会自动更新到最新版,如果你不希望如此,可以通过下面的配置更改:

{
  "rust-analyzer.updates.askBeforeDownload": true
}

更多的拓展

vscode-lldb

vscode-lldb 可以帮助你更好地帮助你调试Rust应用

image.png

better-toml

better-toml 提供了TOML文件的语法高亮以及lint功能

image.png

image.png

crates

crates 会展示出最新版本的依赖并提供了更新的快捷方式

image.png

search-crates-io

search-crates-io 会尝试帮助你补全Cargo.toml中依赖包的名称

image.png

总结

工欲善其事,必先利其器。IDE不是编程的全部,但一个好的IDE会让编程更加得心应手,如果大家有关于IDE方面更好的建议,欢迎分享

更多