If you have been developing with MSBuild for any length of time, you may already know that the editors available for MSBuild are few and far between: (http://samirvaidya.blogspot.com/2011/04/msbuild-ides-and-editors.html
One of the best IDEs I have ever used for developing scripts was actually when I was still using NAnt for my build scripts. The tool was called NAntBuilder http://www.polestarsoft.com/products/nantbuilder/
Thus far, I have never found any IDE for MSBuild that even comes close to the overall development experience that I had while using NAntBuilder. One of my favorite features in NAntBuilder was the hierarchical tree view of all the nodes in my NAnt script.
The only available MSBuild IDE that provides this particular feature is MSBuild Sidekick: http://attrice.info/msbuild/
Of course, there are some cautions/inherent problems with MSBuild Sidekick that one should be aware of before developing with MSBuild Sidekick as your “editor of choice”:
- When developing in Raw XML view and one is prompted to save changes, saving changes will completely wipe out all editing done in Raw XML view.
- Adding comments to any area in the IDE are not retained/saved as part of the MSBuild file.
- While one can manually move elements up and down in the tree using the right-click context menu, there are no drag and drop capabilities to easily move elements up and down in the tree hierarchy.
- When editing a particularly long line in the IDE, there is no way to pop up a larger editing dialog (ex: Post Build event in Visual Studio) to edit the lengthy text.
- Support for the MSBuild Extensions is mentioned, however, after importing the MSBuild extensions into a project file, none of the available attributes for MSBuild Tasks are provided through the IDE or through Intellisense.
- Running long MSBuild scripts within the IDE will frequently cause the application to hang or crash.
- If you are editing the MSBuild script in an editor other than MSBuild Sidekick, there is no "Refresh" button to detect the external changes and re-load them into the IDE. In fact, while most editors detect external edits and prompt you as to whether or not you want to re-load the file with the external edit changes, MSBuild Sidekick does not detect any of this and instead requires you to re-open the file in order to see the changes that were made in the external editor.