A few days ago, I received some feedback that ViEmu/VS’s compatibility mechanisms for Resharper didn’t work fine with Resharper 3.1. Off I went and investigated it. It turns out that the latest version uses different internal names for the commands ViEmu intercepts, and thus I had to update the interception code to recognize the new names. Don’t worry, this is in addition to the old names, so now ViEmu/VS is equally compatible with all of them. Here is the new build, 2.1.21:
You need to manually uninstall the previous version before installing this one.
What the compatibility code does it it detects when the Resharper ‘Rename’ command has been issued, and if this is an ‘inline’ rename instead of a dialog-based one (which, afaik, only happens with local variable renames), it auto-enters insert mode. This works nicely, except for two glitches which are pretty hard to solve:
- If you issue the ‘Rename’ command by first using the Resharper ‘Refactor This’ command, which pops up a small command list, ViEmu can’t intercept this. It’s not a VS command, but some internal Resharper mechanism, and there is no way to intercept it that I know of (I did ask the Resharper devs about this, and I didn’t get any usable suggestion)
- Also, when renaming inline in insert mode, Resharper is kind of ‘king’, so if you press Esc, it will cancel the rename. You need to press Enter first to accept it, and then Esc to exit insert mode. It would be good to accept it with Esc, but it’s beyond ViEmu’s reach (it’s Resharper handling the Esc keypress)
All in all, it ViEmu should work a little bit better with Resharper now. Drop me a line if there are more glitches that need some care, or if you have any suggestions to the above issues.
BTW, for those of you reading this through an RSS reader, be sure to visit the blog to enjoy the new look, as I have styled it according to the rest of the ViEmu site and integrated it properly in the navigation bar, etc… viemu.com now looks so much nicer with all the pages, the forums, the blog, etc… all styled and integrated properly!