Replace parameter multiple times in Xcode code snippets

倾然丶 夕夏残阳落幕 提交于 2019-12-20 09:14:17

问题


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.


回答1:


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




回答2:


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.



来源:https://stackoverflow.com/questions/6051395/replace-parameter-multiple-times-in-xcode-code-snippets

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!