Automated Coder

Exploring the Code of CruiseControl.Net

Posts Tagged ‘FF.NET: Visual Studio’

FastForward.VisualStudio

Posted by Craig Sutherland on 19 August, 2009

The Concept

As part of the FastForward.NET suite, I am planning on adding a Visual Studio plug-in. This plug-in will allow developers to interact with one or more CruiseControl.NET servers from the comfort of their IDE :-)

My current plan is to include the following items:

  • Projects view tool window
  • Queues view tool window
  • Server explorer tool window
  • Build report document

Plus I would also like to add some options for working with configuration files:

  • Intellisense
  • A configuration editor (maybe using a DSL)

And maybe even expand the configuration API so it is possible to configure a CruiseControl.NET server from within VSIDE – yes, I definitely have some fun ideas ;-)

A Reality Check

Before everyone starts getting excited (including myself), I must warn people I am not a Visual Studio developer – this will be my first attempt at building a proper plug-in for Visual Studio.

When I first started on FastForward.NET I planned on releasing the Visual Studio and Monitor components at the same time – after all, they can use a lot of the same underlying infrastructure. Unfortunately my experiments with building Visual Studio plug-in rather discouraged me and so I kind of gave up. COM interop, resource issues, trying to get things appearing in the right place – it all seemed too much for just a hobby project.

However, all was not lost, I discovered VSSDK – a managed API for building plug-ins. So I will be trying to implement the plug-in using this instead of directly working with Visual Studio and COM. This will mean a bit of learning for me, but so far I have had more success than I had previously!

Progress to Date

I’ve got to admit, not a lot :-(

I’ve been playing around with VSSDK in my spare time (in between improving the Monitor and fixing issues.) I like to try and understand what I am doing, as that helps resolve weird issues that come up later if I just copy and paste.

The good news, is I finally have a tool window working in Visual Studio:

image

This can be configured to load or remove servers.

Unfortunately, I am missing something somewhere, as all my menu commands are duplicating or worse:

image

*sigh*, some things are not as easy as you would think!

This is not ready to release as part of the installer yet, not even as an “experimental” feature, but the code is in Subversion. So, if anyone is feeling brave, feel free to download it, build it and give it a test run. Of course, I’m more than happy to receive advise on how to do things ;-)

I am aiming to have an initial release early October, so stay tuned…

Posted in FastForward.NET | Tagged: | Leave a Comment »