Xcode 12中如何批量折叠所有构建目标的报告节点?
我之前也被Xcode 12这个烦人的问题折腾过!多Target构建完,Report Navigator直接把所有子节点全展开,手动折叠不仅麻烦,切个页面回来又恢复成展开状态,常规的右键选项和快捷键组合都不管用。试了好几种方法,终于找到几个可行的方案:
重置Xcode窗口布局
先试试最简单的操作:打开Xcode顶部菜单栏的Window > Reset Window Layout,然后重启Xcode。这个操作会把所有面板的布局恢复到默认状态,有时候能清除掉Report Navigator的展开状态缓存,之后你手动折叠一次,大概率能记住你的选择了。重置Xcode用户偏好缓存
如果上面的方法没用,那就得彻底重置Xcode的用户设置了。先关闭Xcode,打开终端输入以下命令:defaults delete com.apple.dt.Xcode执行完后重启Xcode,这个操作会清除所有自定义设置(包括快捷键、布局、偏好选项等),所以最好提前备份好你的个性化配置。重置后重新配置一次Report Navigator的折叠状态,应该就能稳定保存了。
用AppleScript一键折叠子节点
要是不想重置设置,也可以写个简单的AppleScript来一键搞定折叠:tell application "Xcode" activate tell application "System Events" tell process "Xcode" -- 切换到Report Navigator click menu item "Report Navigator" of menu "View" of menu bar 1 -- 定位到所有Build节点并折叠 set buildRows to rows of outline 1 of scroll area 1 of splitter group 1 of window 1 whose value of static text 1 contains "Build" repeat with row in buildRows set expanded value of row to false end repeat end tell end tell end tell把这段代码保存成
.scpt格式的文件,需要的时候运行它,就能自动把所有Build的子节点折叠到只显示Target层级了。
另外提一句:如果有条件的话,升级到Xcode 12.5及以上版本也可能解决这个问题,因为后续版本修复了不少UI层面的缓存bug。
内容的提问来源于stack exchange,提问作者gil_mo
相关产品推荐
相关产品推荐

