问题描述
我在 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 自动插入分号作为编辑而不是格式化。)