VSCode Rust 在保存时添加分号

VSCode Rust add semicolon on save

我在 vscode 上使用 Rust 扩展,而不是 rust-analyzer。但是,当我保存文件时,vscode 使用 rustfmt 来格式化我的文件,但它不会自动插入分号。我有一个像这样的简单函数

fn call_me() {
  let x = 5
  println!(x)
}

它没有添加必要的分号。如何让它添加分号?我的安装有问题吗?

此外,我试过 rust-analyzer,它也不添加分号。

与 JavaScript 不同,分号在 Rust 中语法上不是可选的。因此,将它们排除在外是 语法错误 ,而不仅仅是样式问题,并且 rustfmt(标准 Rust 代码格式化工具)不会尝试修复任何语法错误,无论它们多么“明显”——如果它读取有错误的文件,它不会进行任何格式更改。

(我不知道是否有办法让 rust-analyzer、vim 或 VS Code 自动插入分号 编辑而不是格式化。)

也许不是您要找的东西,但有 language-agnostic 选项可以减少分号插入的摩擦。

例如 vs 代码扩展 colonize 添加了快捷方式 alt+enter,无论光标在行中的哪个位置,它都会附加一个分号和换行符。