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

如何阻止rust-analyzer/rustfmt折叠手动格式化的迭代器链?

在VS Code中手动控制Rust迭代器链的折叠/展开并保留自定义格式

一、手动控制折叠与展开

VS Code自带代码区块折叠展开功能,迭代器链式调用会被自动识别为可折叠单元:

  • 折叠:点击代码行号左侧的小箭头(▶),或者使用快捷键 Ctrl + Shift + [(Windows/Linux)/ Cmd + Shift + [(Mac)
  • 展开:点击折叠后的箭头(▼),或者使用快捷键 Ctrl + Shift + ](Windows/Linux)/ Cmd + Shift + ](Mac)
  • 全局批量操作:用 Ctrl + K + 0 折叠所有代码块,Ctrl + K + J 展开所有代码块

二、保留自定义的展开格式

除了你已知的#[rustfmt::skip],还有两种更灵活的方式避免rustfmt自动压缩格式:

  1. 局部跳过格式化
    给目标表达式单独添加注解,仅跳过该段的格式化:
#[rustfmt::skip]
let mut result: Vec<u64> = v1
        .iter()
        .zip(v2
                .iter()
        )
        .map(
        |(a , b)|
        a + b
        )
        .collect();
  1. 全局配置链式调用格式
    在项目根目录创建rustfmt.toml文件,添加以下配置,让rustfmt默认以 verbose 风格格式化链式调用:
chain_style = "verbose"

配置生效后,所有链式调用都会自动展开为每行一个方法的格式,无需逐个添加注解。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.01 23:53:14