Another question that appear frequently in the forums is how to perform some action before or after a build, how to build programmatically or how to retrieve build configurations. My latest article is about that:
HOWTO: Performing some action before or after a build from a Visual Studio macro or add-in
Previously I talked here about the tools that I use when developing my MZ-Tools add-in. I would like to mention an awesome tool named Help and Manual 4 that I will use to create help files. I previously used the free HTML Help Workshop, that, if you have used it, you know that is far from perfect, to say the less.
There are many things remarkable about Help and Manual, from a very nice user interface and ease of use to two things that I have found very valuable:
- You can generate several output formats from a single source: this allows you to generate a HTML Help file along with online help to integrate on a web site; or a downloadable PDF file.
- You can create builds with conditional inclusion of topics or text. This allows you to use a single source to generate the help file of several versions or editions of the same product. For example, the help file of my free MZ-Tools 3.0 for VBA add-in is a subset of the help file of MZ-Tools 3.0 for VB6 and now I can create them easily. Very cool indeed.
This is a small oversight in the new file code model of VS 2005:
BUG: EnvDTE80.CodeEvent lacks a Parameters property for VB.NET 2005 events declared without a delegate
This is another article long overdue on my list of pending articles, which appears quite frequently on the forums. It explains how to open a window from a file (ProjectItem) in the desired view (code, designer, text):
HOWTO: Manipulate a code or form designer file from a Visual Studio add-in
Ever wanted to retrieve an EnvDTE.Project from a given project unique name? Today I have discovered that you don’t have to iterate the projects of a solution to find it:
HOWTO: Get an EnvDTE.Project object from its project unique name
It happened that I was thinking about a Solution.GetProject method, but Microsoft gave it another name 🙂