Заменить параметр несколько раз в фрагментах кода XCode - PullRequest
44 голосов
/ 19 мая 2011

Могу ли я создать пользовательский фрагмент, который принимает параметр, который несколько раз заменяется внутри кода?

Я пробовал что-то вроде:

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

, но он не заменяет оба class заполнителя, когда я вставляю фрагмент и записываю поверх первого параметра.

Ответы [ 2 ]

24 голосов
/ 03 сентября 2011

Это невозможно в Xcode 4.x на момент написания (сентябрь 2011 г.).

Если вы хотите, чтобы эта функция вернулась в Xcode 4.x, перейдите в bugreport.apple.com и сообщить о дубликате для этого rdar, который я только что подготовил:

Резюме: Xcode 4 фрагмента с токенами того же имени должны синхронизироваться при заполнении одного из них.

Шаги для воспроизведения:
1. Определите этот фрагмент: extern NSString * const <#constant#>; NSString * const <#constant#> = @"<#constant#>";

  1. Вставьте его в свой код.
  2. Нажмитевкладка для выбора экземпляра токена <#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:

"Xcode4: регрессии функциональности фрагмента "
rdar: // 9192757
http://openradar.appspot.com/9192757

5 голосов
/ 29 сентября 2018

В Xcode 10 мы можем заменить токены-заполнители с тем же именем, выполнив это:

  1. Выделите первый токен.
  2. Добавьте в список другие токены с тем же именем, нажав ⌥⌘E один раз для каждого токена. ⌥⇧⌘E выбирает предыдущие токены.
  3. Начните печатать. Это активирует несколько курсоров, поэтому каждый токен заменяется.

Это не так быстро, как замена каждого токена с тем же именем по умолчанию, но он дает вам больший контроль над тем, что заменяется.

...