Compatibility with other tools
ViEmu tries very hard to be fully compatible, not only with Visual Studio features, but also with other 3rd party Visual Studio enhancers. It currently implements specific code and techniques to work reliably with the following major Visual Studio editor enhancers:
Visual Asssist X by Whole Tomato Software
ViEmu detects whether Visual Assist is present, and it takes two measures if so:
- It ensures ViEmu properly intercepts Visual Studio editor windows after Visual Assist, so that its smart autocompletion doesn't kick in while in normal or visual modes
- It enables a different way to handle the ESC key, so that pressing ESC while in insert mode with a Visual Assist drop-down list open, it will both close the drop-down list and return to normal mode. ViEmu implements a setting (:set [no]vaxesc) so that this behavior can be disabled, making ESC only close the drop-down list if present
ReSharper by JetBrains
ViEmu detects whether Resharper is present, and it intercepts Resharper's 'Rename' refactoring command. When this command is used, it checks whether Resharper has entered its 'inline' rename mode, and, if so, it enters insert mode automatically. This is done for Resharper 1.x, 2.0, 2.5, 3.0 and 3.1, in their VS.NET 2003, VS2005 and VS2008 versions.
CodeRush by Developer Express
ViEmu provides a service so that it can be notified from outside to enter insert mode. If you download this plugin for DevExpress' plugin architecture, and install it in their plugin directory (typically C:\Program Files\Developer Express Inc\DXCore for Visual Studio .NET\1.1\Bin\Plugins), it will detect when CodeRush enters linked editing mode and instruct ViEmu to enter insert mode. A version of the plug-in for Coderush 2.x and 3.0 is in development and will be provided shortly.
Workspace Whiz by Joshua Jensen
ViEmu has a specific way of intercepting editor windows such that it does not interfere with Workspace Whiz's 'Goto tag' command, which selects the line where the tag is, and which could sometimes cause ViEmu to misbehave.