I should point out that configuration file transforms have been available for some time for web projects only. I believe the feature was developed by the web team within Microsoft. This fact just makes it more strange, that this feature was not rolled out to the masses.
Microsoft has just announced on their UserVoice site that SlowCheetah will be updated for Visual Studio 2015 and future versions will indeed have configuration file transforms built in! Thats great news and shows another example of Microsoft listening to its developers.
I’ve used a number of IDE’s in my time as a developer, from bare bones text editors like Sublime (Which you should seriously consider purchasing. It beats the pants off of notepad and most notepad competitors) to fully fledged development environments like Netbeans and Visual Studio. It has to be said though that Microsoft does a much better job than most and packs a lot of power into their punch.
It is with puzzlement and confusion then that something as useful and common as transforms for configuration files (.config) are still not supported by Microsoft. You may be wondering what I’m babbling about. Well, every developer at some point has had to release their application on more than one environment, even if it’s just your own development machine and wherever your application is released. In the past I’ve worked with as many as four distinct environments. Each with it’s own application settings, database connection strings and other settings stored in .config files. In the past, this has been a nightmare.
Happily though, someone named Sayed Hashimi working for Microsoft has unofficially created a Visual Studio extension called Slow Cheetah. Go ahead, read through, that page if you haven’t already, I’m not going to describe the genius that is Slow Cheetah here (I’m not just talking about the ironic name, which I quite like. Sayed Hashimi seems to have a gift for odd names, as he is also a developer for the Side Waffle project).
Unfortunately, according to this post, Slow Cheetah is no longer going to be supported in future versions of Visual Studio. His reasons for dropping support are interesting. In the first paragraph, he suggests that the existence of Slow Cheetah has stopped Microsoft from building configuration file transforms into Visual Studio in the first place.
It’s been a few months since Sayed’s post on GitHub. While I’m sure the community will step in and keep the tool updated for future versions of Visual Studio, this is really something that should have been built in to Visual Studio years ago!
Don’t despair, there is hope. On the Visual Studio User Voice site, there is a suggestion to support configuration file transforms out of the box. What’s more, is that the suggestion is currently number seven in the list of ‘hot’ ideas and number three if you remove the ideas that Microsoft have already commented on. Please do go and vote for this suggestion, Microsoft does read and more importantly act on them.
I spent some time a year ago teaching a junior developer the new C# async and await feature, as well as the Task Parallel Library (TPL). Not only did it blow his mind but I realized that so much that I had learned had now become obsolete and that this new developer would never have to struggle with asynchronous code as I had. In my opinion, this feature is another one of those moments when we can consign another series of old method to the dustbin of history. We just need to help Microsoft know about it.