在Xcode代码段中多次替换参数

时间:2011-05-18 21:45:33

标签: xcode xcode4 code-snippets

我可以创建一个自定义代码段,其中包含在代码中多次替换的参数吗?

我尝试过类似的事情:

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

但是当我插入代码段并覆盖第一个参数时,它不会替换两个class占位符。

2 个答案:

答案 0 :(得分:23)

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

如果你想在Xcode 4.x中重新使用此功能,请转到bugreport.apple.com并报告我刚刚预先输入的此数据的副本:

  

摘要:具有相同名称的代码的Xcode 4代码段应该同步   在填写其中一个时。

     

重现步骤:
  1.定义此代码段:extern NSString * const <#constant#>; NSString * const <#constant#> = @"<#constant#>";

     
      
  1. 将其放入您的代码中。
  2.   
  3. 点击标签选择令牌<#constant#>的实例。
  4.   
  5. 输入“NSMySuperCoolConstantString”。
  6.         

    预期结果:
      5. NSString * const <#constant#> = @"<#constant#>";应该变成   {/ 1}}就像在v3.x中一样。

         

    实际结果:
      5. NSString * const NSMySuperCoolConstantString = @"NSMySuperCoolConstantString";停留   不变/未同步的。

         

    <强>回归:

         

    备注:

以下是重复的 rdar参考
rdar:// 10071607

这里有一份关于 OpenRadar 的副本:
http://openradar.appspot.com/radar?id=1327411


当你在做它时:也可以随意欺骗这个术语:

“Xcode 4:代码段功能回归”
rdar:// 9192757
http://openradar.appspot.com/9192757

答案 1 :(得分:4)

在Xcode 10中,我们可以通过以下操作将具有相同名称的占位符替换为:

  1. 突出显示第一个令牌。
  2. 通过对每个令牌按一次⌥⌘E,将其他具有相同名称的令牌添加到选择中。 ⌥⇧⌘E选择以前的令牌。
  3. 开始输入。这将激活多个光标,因此每个令牌都将被替换。

这没有默认情况下用相同名称替换每个令牌快,但是它确实使您可以更好地控制要替换的内容。