A feature that I am missing regulary is this to extract an selected subexpression as a variable.
In the code
key = CxGetProfileString(file, _T("Section"), _T("key"));
I select the _T("Section"), and select "extract expression" from the refactoring context menu.
I am asked for name and type of the variable. If I enter "section", the code gets changed to this:
LPCTSTR section = _T("Section");
key = CxGetProfileString(file, section, _T("key"));
Suggestion: keep type and name in one long edit field, rather than requiring two
Bonus: Make a good suggestion for the type
Bonus: optionally allow replacing the expression in the current function/file/project. (IMO project is dangerous, but people will want it).
Bonus: move the extracted assignment to a suitable location depending on the "replace" option
Caret position after input would probably be the beginning of the newly inserted line, since the most likely action is moving the declaration somewhere. Alt-Back takes me back to the start of the replaced expression.
This would be very Very VERY helpful even without the replace.