You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让VSCode中Rust语法高亮器正确高亮格式化字符串?

问题描述

我用VSCode搭配rust-analyzer v0.4.1395(预发布版),希望格式化字符串里的sum、FILENAME这类占位符,能和字符串字面量的其他部分显示不同颜色。另外发现Markdown里的Rust代码块也有同样的高亮问题,比如这段代码:

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

补充说明:

  • 预期效果参考@Finomnis的回答示例
  • 注:Rust格式化字符串本身不支持{3+5}这种表达式写法
解决办法

1. 确认rust-analyzer的高亮配置

打开VSCode设置(快捷键Ctrl+,),搜索rust-analyzer.highlighting,确保以下选项已启用:

  • rust-analyzer.highlighting.strings:开启字符串内部元素高亮
  • rust-analyzer.highlighting.formatStringParameters:专门针对格式化字符串占位符的高亮

2. 更换适配的主题

部分VSCode主题未对Rust格式化字符串占位符做单独的颜色定义,推荐尝试以下主题:

  • One Dark Pro:对Rust语法元素区分度较高
  • Rust Syntax:官方推荐的Rust专用主题
  • Material Theme:支持自定义调整语法高亮颜色

3. 自定义高亮颜色

若自带主题不符合需求,可通过settings.json自定义颜色:
按Ctrl+Shift+P,搜索Preferences: Open Settings (JSON),添加以下配置(颜色值可自行修改):

"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
            "scope": "variable.other.format-specifier.rust",
            "settings": {
                "foreground": "#FF79C6" // 占位符自定义颜色
            }
        },
        {
            "scope": "string.quoted.double.rust",
            "settings": {
                "foreground": "#F1FA8C" // 字符串主体自定义颜色
            }
        }
    ]
}

Markdown代码块的高亮问题

VSCode中Markdown的Rust代码块依赖官方的Rust扩展(不能仅安装rust-analyzer),同时需确保markdown.syntaxHighlighting.enabled设置已开启。


内容的提问来源于stack exchange,提问作者VaderFuntime

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:20:33