为什么我会看到 VSCode 中的 let 语句中添加了“: String”?

3 rust visual-studio-code rust-analyzer

当我在 VSCode 中输入以下内容时:

let mut guess = String::new();
Run Code Online (Sandbox Code Playgroud)

我看到它变成了:

let mut guess: String = String::new();
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?

Cha*_*man 7

这些被称为镶嵌提示。rust-analyzer 向您显示变量的推断类型,以便您了解,以便于阅读代码。VSCode 实际上并没有改变代码,只是改变了代码的显示方式。

如果您不喜欢它,可以通过设置将其rust-analyzer.inlayHints.typeHints.enable关闭false。这只会禁用这种嵌入提示;您可以通过组中的设置rust-analyzer.inlayHints来控制许多其他功能。