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

Xcode中一键折叠指定父语句下的子代码块方法求助

解决Xcode中一键折叠指定父语句下所有子语句的方法

原生快捷键组合法(无需额外工具)

这是最直接的实现方式,利用Xcode自带的选择和折叠快捷键:

  1. 将光标定位到目标父if语句的**起始大括号{**所在行
  2. 按下 Option + Shift + 点击 父if语句的闭合大括号},此时会精准选中父块内的所有子代码(不包含父if自身的大括号)
  3. 按下快捷键 Cmd + Opt + ←,即可一键折叠选中范围内的所有子if/else if块

操作后效果如下:

func example(v1: String, v2: Int, v3: Int)
{
    if v1 == "Food"
    {
        if v2 == 2 && v3 == 7
        {...}
        else if v2 == 2 && v3 == 33
        {...}
        else if v2 == 44 && v3 == 72
        {...}
        else if v2 == 12 && v3 == 7
        {...}
        else if v2 == 102 && v3 == 97
        {...}
    }
}

AppleScript自动化脚本(适合批量重复操作)

如果需要频繁执行这个操作,可以写一个简单的AppleScript模拟手动步骤,再绑定到系统快捷键(比如通过Automator或BetterTouchTool):

tell application "Xcode"
    activate
    tell application "System Events"
        -- 模拟Option+Shift+点击闭合括号(需提前将光标放在父if的{行)
        key down option
        key down shift
        click at {1200, 600} -- 替换为你Xcode中闭合括号的实际坐标,可通过Accessibility Inspector获取
        key up shift
        key up option
        -- 执行折叠快捷键
        keystroke "[" using {command down, option down}
    end tell
end tell

补充说明

  • 全折叠快捷键Cmd + Opt + Shift + ←会折叠所有层级代码,展开父语句后子语句仍保持展开,不符合需求,建议避开
  • 若子语句层级更深,上述快捷键组合同样适用,只要选中对应父块内的内容即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 08:02:23