Making F# type inference friendly for C#

One of my current hobby projects, VsVim, requires me to make a lot of calls between F# and C# projects.  The core Vim engine is a pure F# solution based on Visual Studio’s new editor.  It additionally has a small hosting layer and a large test bed both written in C#.  When working with the…

5

VsVim Update Released (Version 0.5.4)

I just released an update to VsVim for Visual Studio 2010 Beta2.  This should be available shortly from the extension manager in Visual Studio or it can be downloaded directly at the following link Link: http://visualstudiogallery.msdn.microsoft.com/en-us/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329 Changes This is mainly a minor bug fix release.  Primarily there was a bug in the command mode jump…

3

The File System is unpredictable

One of the more frequent questions I answer on StackOverflow is a variation of the following.  I’m doing XXX with a file, how can I know if the file exists? The variations include verify no one else has the file open, if the file is in use, the file is not writable, etc ….  The…

11

VsVim Update Released (Version 0.5.3)

I just released an update to VsVim for Visual Studio 2010 Beta2.  This should be available shortly from the extension manager in Visual Studio or it can be downloaded directly at the following link Link: http://visualstudiogallery.msdn.microsoft.com/en-us/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329 Changes Normal Mode Block Cursor This removes the red cursor in favor of a Vim block style cursor for…

0

Dev Connection Talk Slides and Code

Thanks to everyone who attended my sessions at Dev Connections.  I’ve posted the material for both of my talks on my SkyDrive account.  This includes the slides and projects. http://cid-dc25b20f65f628f8.skydrive.live.com/browse.aspx/Public/DevConnections2009 Please let me know if you have any questions or problems with the materials or any additional feedback about the sessions. 

0

VsVim Update Released (Version 0.5.2)

I just released an update to VsVim for Visual Studio 2010 Beta2.  This should be available shortly from the extension manager in Visual Studio or it can be downloaded directly at the following link Link: http://visualstudiogallery.msdn.microsoft.com/en-us/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329 Changes Removal of conflicting key bindings On startup VsVim will now look for any key bindings which conflict with…

0

Vim Emulator Editor For Beta2 Released

This is essentially the same release as the original but updated for some changes that occurred in the APIs between Beta1 and Beta2.  Link: http://visualstudiogallery.msdn.microsoft.com/en-us/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329 The biggest change came in the way in which Visual Studio routes commands.  Vim, as you can imagine, needs to participate in command routing and these changes took awhile to…

3

Type safety issue when assigning CComPtr<T> instances

Recently while making a bug fix to our selection tracking code I discovered an unexpected behavior with CComPtr<T> instances.  The crux of the fix included creating a new tracking mechanism exposed via COM in the type ISelectionTracking.  The old interface, lets call it IOldTracking, was a completely unrelated interface in terms of inheritance hierarchies.  As…

1

Speaking at Dev Connections in Las Vegas Next Week

Next week I will be speaking at Dev Connections in Las Vegas.  I will be running the following sessions VMS02: Future Directions for Visual Basic VMS04: Microsoft Visual Basic IDE Tips and Tricks Both of these talks will spend a bit of time talking about all of the progress and exciting new features we’ve added…

1

Using F# Discriminated Unions in C# (Beta2)

While updating my VsVim editor extensions for Beta2 [1] I got hit by a change in the way F# exposed discriminated unions in metadata.  My extension consists of a core F# component with a corresponding set of unit tests written in C#.  It’s mostly API level testing and as such I use a lot of…

5