Select 来自 Xcode UITests 中菜单标记字段的文本

Select text from Menu Token field in Xcode UITests

我看到一个关于 UITests 的 WWDC 视频说如果你双击 Xcode 中的蓝色标记字段,它将变成文本并删除菜单(也就是蓝色的东西),但是当我双击该字段时,它就被删除了。

double-tap 技巧确实在 Xcode9 中不起作用。但是,我们始终可以使用 Regex 的强大功能。

要实现此功能,可以:

  • 打开左侧边栏的“查找”导航器(左起第四个图标),然后从顶部的第一个切换开关中选择“替换”
  • 导航至 Find/Find 并替换...

之后,选择正则表达式选项:

  • 如果您使用的是查找导航器,请单击菜单并更改搜索方法
  • 或者如果您更喜欢使用本地“查找和替换”对话框

令牌字段的开头始终用 /*@START_MENU_TOKEN@*/ 表示,后跟实际选择的文本。之后,有所有可能选项的文本表示,以 @END_MENU_TOKEN@*/ 结束。示例:

/*@START_MENU_TOKEN@*/.cells.buttons["Button Text"]/*[[".cells.buttons[\"Button Text\"]",".buttons[\"Button Text\"]"],[[[-1,1],[-1,0]]],[1]]@END_MENU_TOKEN@*/

在我们的正则表达式中,我们应该删除所有内容 ,但 直接在 /*@START_MENU_TOKEN@*/ 之后和选项块之前的文本。我们可以通过捕获该片段并用该片段替换所有这些混乱来实现这一点。

对于替换,输入以下内容:

/\*@START_MENU_TOKEN@\*/(.*.)/\*(.*.)@END_MENU_TOKEN@\*/

...对于 With,输入:


如果您只想删除光标后最近出现的标记字段,请单击 替换,或者如果需要,请选择 全部将它们全部删除。