I want to create a Resharper ContextAction which takes a string from the user. How can I create a box with an input field whose entered value can be processed inside the ExecutePsiTransation method?
1 Answer
Just use standard WPF/Windows forms dialogs. For Windows forms use Show/ShowDialog overload that takes IWin32Window instance. For WPF see IWin32Window in WPF . Get instance of IWin32Window via Shell.Instance.GetComponent().MainWindow . And do it not from ExecutePsiTransation, but from ExecuteBeforeProgressAndTransaction method.
2 Comments
Dmitri Nesteruk
Darn, you're consistently beating me to questions :)
derigel
It's not good idea to get user input inside ExecutePsiTransation.