The ViEmu-ReSharper webinar run by James Kovacs last week was a success, with over 100 attendees, and we got to see James demonstrating the combination of ViEmu and ReSharper for productivity in a smooth introductory session.

I was also amazed that he was running ViEmu and ReSharper under VS 2012, running under Windows 8, running inside VMWareFusion on a Macbook, and streaming his desktop to all the webinar attendees. Incredibly, it all worked great!

Now it’s available for watching on video, from the post at JetBrains’ blog:

Hello everyone. Together with JetBrains, the company behind the great ReSharper tools for VS, we are going to offer a free webinar to show how Resharper and ViEmu can be used together to maximize your development pleasure and productivity.

Since ViEmu 1.0 in 2005, one of the most important values of ViEmu has been to integrate vi/vim operations not only with VS’s built-in functionality (Intellisense, etc…), but also with the most popular third-party addins. Probably the most popular one is ReSharper by JetBrains, which really helps in all .NET development tasks. Using both ViEmu and ReSharper together, many people can enjoy an incredible producvtivity boost. We’ve decided to try to get everyone to know this possibility and be able to enjoy it.

The webinar will be held on Wednesday, October 24th at 9:00am PDT (International Times = 10am MDT, 12pm (NYC), 6pm (CET)). You can register on this URL: https://www4.gotomeeting.com/register/985160831. Apologies to those for whom this time is not very convenient, it’s really difficult to host a global event.

So we have the final versions of ViEmu 3.0, now ready for download from the main viemu.com site.

The main new features are the following:

Support for the latest VS12 RC. The same ViEmu/VS2010 build installs and works with both VS2010 and the upcoming VS12.

For VS2010, much better compatibility with Resharper and other add-ins, thanks to a more sophisticated way of intercepting input. Oftentimes, this looks like an arms race between VS plug-ins.

The ‘c’ flag (confirm) for the :s substitute command (yay, finally!). It will ask you before each replacement. Unfortunately, this is not available in Word, only in VS and SQLServer. Other minor flags for :s are also supported (’i’ and ‘I’).

Ctrl-N/Ctrl-P “filescan” autocompletion looking at words around the cursor, like vim. This is great for non-Intellisense autocompletion. And you can always use Ctrl-Space to autocomplete with Intellisense in Visual Studio.

Just in ViEmu/Word&Outlook: Ctrl-F and Ctrl-B now work more like PageUp/PageDown when ViEmu is not installed, and there’s a new “:set hidestatus” setting that hides the status bar when you are not editing anything and there is no relevant message, so that it won’t obscure the document.

Just in ViEmu/SQL Server 2005 & 2008: a new setting that you can enable so that Ctrl-U is not gobbled up by SQL Server and you can use it to scroll half a page up, as Bill Joy always intended.

Support for ViEmu/SQL Server 2012. A fully new version, licensed jointly with ViEmu/SQL Server “Classic”.

The only change from 3.0.1 to 3.0.2, in the VS2010/12 version, is that we have fixed the “Use VS selection for visual mode” setting, this compatibility mode had stopped working.

Let us know if anything comes up!

[UPDATED June 27: new 3.0.3 version for VS2010/VS12 and SQL Server 2012, fixing a minor glitch when moving the cursor with the mouse - no wonder we hadn’t detected it earlier (what’s the mouse do in vi?)]
[UPDATED June 29: new 3.0.4 version for VS2010/VS12 and SQL Server 2012, fixing the cursor movement lagging a bit in some cases, which was annoying]
[UPDATED July 5: new 3.0.5 version for VS2010/VS12 and SQL Server 2012, fixing macros and ESC-dismissing of Resharper Intellisense]
[UPDATED July 21: new 3.0.6 version for all editions, with the following improvements:

VS2010/12: Improved ‘.’ repeat command when using autocomplete features from VS or 3rd party add-ins.

VS2010/12: Fixed problems when ‘Use VS selection for visual mode’ is set, such as ViEmu entering visual mode automatically when Visual Assist edited code while typing for options such as ‘Insert _ after m and shift’.

VS2010/12: Fixed a bug that caused strange scrolling behaviour when ‘Use VS selection for visual mode’ was set and a visual studio selection was active.

]
[UPDATED Sept 10: new 3.0.8 version for VS2010/12, improving behavior with the new ReSharper 7, and making buffer closes remove buffers from the :ls internal buffer list]
[UPDATED Sept 20: new 3.0.9 version for VS2010/12, improving behavior with the new ReSharper 7 under Windows 8 (yes there were side-effects)]
[UPDATED Oct 23: new 3.0.10 version for VS2010/12, fixing yet other minor interactions with ReSharper]
[UPDATED Oct 30: new 3.0.11 version for VS2010/12, fixing yet other minor interactions with VS’s visual selection]
[UPDATED Dec 3: new 3.0.12 version for VS2010/12, improving interaction with Visual Assist’s Intellisense]
[UPDATED Dec 24: new 3.0.13 version for VS2010/12, fixing two annoying issues: removed “read-only file warning” while debugging .NET code, and made search open folds!]

Support for the latest VS12 RC. The same ViEmu/VS2010 build installs and works with both VS2010 and the upcoming VS12.

For VS2010, much better compatibility with Resharper and other add-ins, thanks to a more sophisticated way of intercepting input. Oftentimes, this looks like an arms race between VS plug-ins.

The ‘c’ flag (confirm) for the :s substitute command (yay, finally!). It will ask you before each replacement. Unfortunately, this is not available in Word, only in VS and SQLServer. Other minor flags for :s are also supported (’i’ and ‘I’).

Ctrl-N/Ctrl-P “filescan” autocompletion looking at words around the cursor, like vim. This is great for non-Intellisense autocompletion. And you can always use Ctrl-Space to autocomplete with Intellisense in Visual Studio.

Just in ViEmu/Word&Outlook: Ctrl-F and Ctrl-B now work more like PageUp/PageDown when ViEmu is not installed, and there’s a new “:set hidestatus” setting that hides the status bar when you are not editing anything and there is no relevant message, so that it won’t obscure the document.

Just in ViEmu/SQL Server 2005 & 2008: a new setting that you can enable so that Ctrl-U is not gobbled up by SQL Server and you can use it to scroll half a page up, as Bill Joy always intended.

And finally, we also have a new ViEmu for SQL Server 2012 working! We are just giving the finishing touches to the installer, which needs some custom work, and we hope to release beta 1 of this version on the weekend. As in VS, licensing will be joint with ViEmu for SQL Server “Classic”.

You need to have valid support as of today for these builds to work. If you need a temporary license key, get in touch with us using email or the support form and we’ll be happy to send one to you.

This will only install itself into VS11 (not into VS2010, even if you have it installed too), and it will either enter trial mode for 30 days, or you need a license key with support up-to-date. If you need a temporary license key, just let us know.

VS11 is still in beta, but we want to be there early. Let us know how this works for you!

After a long time with reduced activity on the ViEmu front, we have finally been able set aside some time to work on it again. We plan to dedicate a lot of time over the next two months to prepare a much needed new version of the ViEmus, on all editions. We don’t have a specific date for the release, but the end of May would be a likely target.

Here are the main areas we want to address:

Improve compatibility with the most used VS plug-ins (Resharper and Visual Assist), and also with the latest VS service packs. We are always working on this, but since VS and especially R# and VAX are moving targets, there’s no way to avoid playing catch-up!

Support for some much-requested vi/vim features, such as support for confirmation option ‘c’ in the :s substitute command, Ctrl-N and Ctrl-P filescan autocompletion (complete looking around for words around the cursor, etc…), and maybe some others (quick-wins or low-hanging-fruit, that is, features that don’t require too much work but that can be very beneficial

Possibly, VS11 support. We are unsure of how much effort this is, we did some early research and it didn’t seem straightforward at all, so we may need to do a 3.0 without this, and add VS11 support afterwards.

Since the vi/vim core is common among all the ViEmus, features like ‘:s///c’ support and filescan-autocompletion will work on all of them. Others of course are app-specific (mainly the VS-related ones).

We have already started working on this, but in any case, we would be very happy to listen to your suggestions for features, and try to incorporate them in the next release, or even in this one if they are doable in the alotted time. So, feel free to post your suggestions below.

And thanks for your patience! Software takes a lot of time and effort, and life has that way of getting in the way…

We have finally built and tested a new version of ViEmu/VS2010, which should be a really good and solid new version that will hopefully last as the “stable” version for some time. Performance, compatibility with third-party-apps, etc… we have made sure this version can be used by ViEmu users for a long time to come. Here is the link:

Main improvement is a highly enhanced incremental search: we included the highlight marker, and made it 6 times faster! We found out the hard way that C++ object creating in .NET (C++/CLI) is incredibly much slower than in native C++. Our coding style is often based on abstract templates and uses classes for powerful abstractions, passing them by value - rather than passing a “pointer to text buffer” we pass a “text buffer”abstraction that can be just a buffer pointer, or a couple of data items, etc… this is great for abstraction, and not a performance issue in most sane implementations of C++, but it is a problem in C++/CLI. Oh well. We did something to avoid hitting this point, and now things are much faster.

And here is the detailed change log:

Added a setting ‘Automatic visual range from VS Selection’, active by default. This setting enables/disables the ViEmu behavior that automatically enters visual mode when a Visual Studio selection is detected.

Added a visual marker for incremental search, whose color can be modified through the Fonts & Colors dialog.

Fixed a bug when changing the keyboard layout in the middle of a ViEmu/VS session.

Entrian Search add-in should now be compatible with ViEmu.

Optimizations to the incremental search: it should now perform up to 6 times faster than before.

Some small improvements for selection/visual range behavior.

Fixed a bug where ViEmu settings window would not have its parent correctly set, leading to unwanted behavior when switching apps.

The main missing thing, and most requested one, was making ViEmu use VS’s selection to handle visual mode. This option was present in ViEmu/VS “Classic”, but the previous ViEmu/VS2010 still didn’t offer it. This option allows ViEmu to interoperate much better with other VS add-ins or even internal VS functionality, as these expect text to be selected using VS-Selection. Of course, this feature also allows to use ViEmu to delete a range selected by other means: just select a region with, say, the mouse, and press ‘d’. The improved interoperability comes at the expense of more faithful vim visual range emulation: VS’s selection just doesn’t allow some of the exotic things that vim’s visual range does (cursor in the middle, etc..). For many people, this is a great trade-off.

And the second most-requested feature was improving the perfomance, and oh boy have we improved in that regard! Isaac, the lead dev of ViEmu/VS2010, has used the new edit-batching APIs inVS2010, and now many operations are blazingly fast. In some (if not all) cases, ViEmu/VS2010 is faster than ViEmu/VS “Classic”.

We’ve also fixed some bugs, improved compatibility with other 3rd party tools, etc… so here is the detailed change log:

ViEmu provides a MEF service that exposes the same functions that the ViEmu “Classic” did.

ViEmu caret shows now correct size and position when Windows DPI settings are changed.

ViEmu caret should not appear anymore when opening a file while ViEmu is disabled.

ViEmu caret blinking time is now read from the system’s settings.

Fixed a bug that prevented some Visual Studio commands from being executed through the :vsc ex command.

Fixed a bug that caused Visual Studio package projects to not be created correctly through the VS New Project Wizard.

Fixed an incompatibility bug with Visual Assist that caused the insertion of }])’” in normal/visual mode when the Visual Assist option ‘Insert () and closing })]’”‘ was checked.

Added the ‘Use adornments for hlsearch and visual range’ setting: Text adorments have been used until now for visual range and highlight search markers. These adornments render behind the text and preserve syntax highlight of the text marked, and thus don’t allow for text foreground color modification. If this setting is unchecked, the text itself of the hlsearch or visual range will be modified, and the foreground color selected in ‘Fonts and Colors’ will affect the foreground text color.

You need valid support as of October 12, 2010 for this to work fine. If you bought ViEmu/VS before October 12, 2009, head over to http://www.symnum.com/customer-area to renew your support for one year for a hopefully-very-reasonable $29.