Информация об изменениях

Сообщение Re[13]: R9 SDK question от 10.05.2015 8:52

Изменено 10.05.2015 10:51 ifle

Здравствуйте, zhuravlik26, Вы писали:

Z>Здравствуйте, ifle, Вы писали:


I>>Здравствуйте, zhuravlik26, Вы писали:

I>>Спасибо за очень полезную информацию.
I>>Как из фикса запустись introduce variable рефакторинг?

Z>В случае именно этого рефакторинга проще всего использовать
JsIntroduceVariableUtil.IntroduceVariable

Z>Он принимает на вход: список всех заменяемых нод, исходную ноду и солюшен.
Z>Чтобы получить список заменяемых нод, надо найти юзаджи экспрешена, для которого вы запускаете Introduce Variable. Сделать это можно так, например:
Z>
Z>      var finder = myExpression.GetPsiServices().AsyncFinder;
Z>      var occurences = finder.FindExpressionOccurences(myExpression, scope); // scope - это скоуп поиска, вероятнее всего вы будете искать в текущем файле или же внутри ноды
Z>


Первый вариант краток и работает как надо. А можно ли как-то подсунуть своё имя переменной? JsIntroduceVariableUtil.IntroduceVariable возвращает result в которм есть SuggestedNames, но что с ним делать не очень понятно?
Re[13]: R9 SDK question
Здравствуйте, zhuravlik26, Вы писали:

Z>Здравствуйте, ifle, Вы писали:


I>>Здравствуйте, zhuravlik26, Вы писали:

I>>Спасибо за очень полезную информацию.
I>>Как из фикса запустись introduce variable рефакторинг?

Z>В случае именно этого рефакторинга проще всего использовать
JsIntroduceVariableUtil.IntroduceVariable

Z>Он принимает на вход: список всех заменяемых нод, исходную ноду и солюшен.
Z>Чтобы получить список заменяемых нод, надо найти юзаджи экспрешена, для которого вы запускаете Introduce Variable. Сделать это можно так, например:
Z>
Z>      var finder = myExpression.GetPsiServices().AsyncFinder;
Z>      var occurences = finder.FindExpressionOccurences(myExpression, scope); // scope - это скоуп поиска, вероятнее всего вы будете искать в текущем файле или же внутри ноды
Z>


Первый вариант краток и работает как надо. А можно ли как-то подсунуть своё имя переменной? JsIntroduceVariableUtil.IntroduceVariable возвращает result в которм есть SuggestedNames, но что с ним делать не очень понятно.