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

发布于 2024-11-07 19:09:08 字数 189 浏览 0 评论 0原文

我可以创建一个自定义代码片段,该代码片段采用在代码中多次替换的参数吗?

我尝试了类似的方法:

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

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

Can I create a custom snippet that takes a parameter that is replaced multiple times inside the code?

I tried something like:

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

but it doesn't replace both class placeholders when I insert the snippet and write over the first parameter.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

紫南 2024-11-14 19:09:08

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

  1. 突出显示第一个标记。
  2. 对于每个标记按一次 ⌥⌘E,将其他同名标记添加到选择中。 ⌥⇧⌘E 选择之前的标记。
  3. 开始打字。这会激活多个游标,以便每个标记都被替换。

它不像默认情况下用相同名称替换每个令牌那么快,但它确实使您可以更好地控制替换的内容。

In Xcode 10 we can replace placeholder tokens with the same name by doing this:

  1. Highlight the first token.
  2. Add other tokens with the same name to the selection by pressing ⌥⌘E once for each token. ⌥⇧⌘E selects previous tokens.
  3. Start typing. This activates multiple cursors so each token gets replaced.

It's not as quick as replacing every token with the same name by default, but it does give you more control over what gets replaced.

身边 2024-11-14 19:09:08

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

如果您希望 Xcode 4.x 中恢复此功能,请访问 bugreport.apple.com 并报告我刚刚发布的此 rdar 的副本预报告:

摘要: 具有相同名称标记的 Xcode 4 代码片段应该同步
填充其中之一时。

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

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

预期结果:
5. NSString * const <#constant#>; = @"<#constant#>"; 应该变成
NSString * const NSMySuperCoolConstantString =
@"NSMySuperCoolConstantString"; 就像 v3.x 中那样。

实际结果:
5. NSString * const <#constant#>; = @"<#constant#>"; 保留
未更改/未同步。

回归:

注释:

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

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


当您正在做:也可以随意欺骗这个 rdar:

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

This is not possible in Xcode 4.x at the time of writing (Sept. 2011).

If you want this feature back in Xcode 4.x, please go to bugreport.apple.com and report a duplicate for this rdar that I just preported:

Summary: Xcode 4 snippets with tokens of same name should sync
while filling one of them.

Steps to Reproduce:
1. Define this snippet: extern NSString * const <#constant#>;
NSString * const <#constant#> = @"<#constant#>";

  1. Drop it into your code.
  2. Hit tab to select instance of token <#constant#>.
  3. Type "NSMySuperCoolConstantString".

Expected Results:
5. NSString * const <#constant#> = @"<#constant#>"; should turn into
NSString * const NSMySuperCoolConstantString =
@"NSMySuperCoolConstantString";
as it used to do in v3.x.

Actual Results:
5. NSString * const <#constant#> = @"<#constant#>"; stays
unchanged/unsynced.

Regression:

Notes:

Here is the rdar reference for duping:
rdar://10071607

And here a copy on OpenRadar:
http://openradar.appspot.com/radar?id=1327411


While you're at it: Feel free to dupe this rdar as well:

"Xcode 4: snippet functionality regressions"
rdar://9192757
http://openradar.appspot.com/9192757

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文