【问题标题】:Replace parameter multiple times in Xcode code snippets在 Xcode 代码片段中多次替换参数
【发布时间】:2011-08-28 10:15:22
【问题描述】:

我可以创建一个自定义的 sn-p,它接受一个在代码中被多次替换的参数吗?

我尝试了类似的方法:

<#class#> instanceOf<#class#>;

但当我插入 sn-p 并覆盖第一个参数时,它不会同时替换 class 占位符。

【问题讨论】:

  • 我也想问这个。显然,它不是那样工作的?
  • 不,它没有,它只是将它们视为两个单独的字段。
  • 你到底想做什么?
  • 我有一些复杂的 sn-ps,需要多次输入相同的标识符。如果 Xcode 将在 sn-p 内的多个位置替换相同的标记,它将节省大量时间并有助于避免拼写错误。
  • 有人知道 Xcode 7 在 2015 年的情况吗?

标签: xcode xcode4 code-snippets


【解决方案1】:

在撰写本文时(2011 年 9 月),这在 Xcode 4.x 中是不可能的。

如果您希望在 Xcode 4.x 中恢复此功能,请转到 bugreport.apple.com 并报告我刚刚报告的此 rdar 的副本:

总结: Xcode 4 sn-ps 与同名令牌应该同步 同时填充其中一个。

复制步骤:
1.定义这个sn-p:extern NSString * const <#constant#>; NSString * const <#constant#> = @"<#constant#>";

  1. 将其放入您的代码中。
  2. 点击标签选择令牌&lt;#constant#&gt;的实例。
  3. 键入“NSMySuperCoolConstantString”。

预期结果:
5.NSString * const &lt;#constant#&gt; = @"&lt;#constant#&gt;";应该变成 NSString * const NSMySuperCoolConstantString = @"NSMySuperCoolConstantString"; 就像以前在 v3.x 中所做的那样。

实际结果:
5.NSString * const &lt;#constant#&gt; = @"&lt;#constant#&gt;";留下 未更改/未同步。

回归:

注意事项:

这是用于欺骗的 rdar 参考:
rdar://10071607

这里是 OpenRadar 上的副本:
http://openradar.appspot.com/radar?id=1327411


当您使用它时:也可以随意欺骗此 rdar:

“Xcode 4:sn-p 功能回归”
rdar://9192757
http://openradar.appspot.com/9192757 p>

【讨论】:

  • 如果你能帮助我Date in Code Snippet
  • 那么,不再支持同步同名令牌了?
  • 令人难以置信的是,在 Xcode 8.2 中似乎仍然如此。
  • 我刚刚添加了一个新的骗子或这个 34975813
【解决方案2】:

在 Xcode 10 中,我们可以通过这样做来替换具有相同名称的占位符标记:

  1. 突出显示第一个标记。
  2. 为每个标记按一次⌥⌘E,将具有相同名称的其他标记添加到选择中。 ⌥⇧⌘E 选择以前的标记。
  3. 开始输入。这会激活多个游标,以便替换每个标记。

这并不像默认情况下用相同名称替换每个标记那样快,但它确实让您可以更好地控制要替换的内容。

【讨论】:

  • 是的,不完美,但比我之前使用的“查找和替换”方法更好
猜你喜欢
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 2011-08-20
  • 2018-02-27
  • 1970-01-01
相关资源
最近更新 更多