如何让语法高亮器(Rust)在VSCode中正确地高亮显示格式化的字符串?

yshpjwxd  于 2023-02-08  发布在  Vscode
关注(0)|答案(2)|浏览(384)

例如,这里我期望sumFILENAME的颜色与字符串常量的其余部分不同:

我正在使用VSCode与 rust eclipse 分析仪v0.4.1395(预发布)。
似乎Markdown也有这个问题:

println!("this is a formatted string with a {variable}, and an expression: {3+5}");

编辑:
1.@Finomnis的回答中可以看到我期望的一个例子。
1.正如人们在评论中指出的那样,Rust中的格式化字符串不支持{3+5}这样的表达式。

j8ag8udp

j8ag8udp1#

这需要语义信息,因为不是每个字符串文字都是格式字符串,因此不能通过语法突出显示来完成。
但是,rustanalyzer通过语义突出显示来处理这个问题。
此外,格式字符串中不支持完整表达式,如3+5

wydwbb8l

wydwbb8l2#

我运行的是VSCode 1.74.2和rust-analyzer v0.3.1394,它可以正常工作:

使用 rust eclipse 分析仪0.4.1395(预发布),在我看来是一样的。
请注意,当rust-analyzer仍在加载时(底部栏中的旋转圆圈),或者如果rust-analyzer遇到错误(底部显示为红色),则只启用VSCode内部Rust突出显示,这无法按语法突出显示字符串:

相关问题