Xcode中一键折叠指定父语句下的子代码块方法求助
解决Xcode中一键折叠指定父语句下所有子语句的方法
原生快捷键组合法(无需额外工具)
这是最直接的实现方式,利用Xcode自带的选择和折叠快捷键:
- 将光标定位到目标父
if语句的**起始大括号{**所在行 - 按下
Option + Shift + 点击父if语句的闭合大括号},此时会精准选中父块内的所有子代码(不包含父if自身的大括号) - 按下快捷键
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
相关产品推荐
相关产品推荐

