Hi guys,
I would just like to let you know where I think the
Addin is at, and where I was trying to get it to. I put it up here specifically
so more people could benefit from it and add features, so I'm all for any
improvements you guys want to make. If you look
at the help files that come with it with your browser in the NAntAddinDocs
folder, they explain everything the Addin currently does.
A summary would be that for any projects open
in the IDE that contain .build files, the addin window shows a tree of these
files and allows you to expand them and view the targets/tasks/properties
within. You can select any node in a project and edit all of its properties
using the Properties window in VS.NET. You can set a target in a project as the
"startup target" similar to the "startup project" in a VS.NET project. You can
cut/copy/paste between multiple NAnt scripts. You can rename properties and
targets, and add new properties/targets/tasks. You can right-click to activate
context menus for any of the common commands on a node. Help is integrated with
Visual Studio.NET and you can also select a node and hit F1 to bring up topics.
They all link to the NAnt help in appropriate locations.
Developers write a class that inherits from
NAntTaskNode when they want to plug a task into the Addin and then configure it
in an XML file - and I've included all the tasks that ship with NAnt
releases so far preconfigured. There is a dialog you can use in the Addin to
import custom task nodes (.dlls someone writes that define the properties window
attributes for a custom task, like the ones in NAntContrib) on the fly, so you
can potentially have nodes with unique icons for as many tasks as someone might
write for NAnt.
When you build a script, the output goes to the
VS.NET window - and if an error occurs you can double-click the line number to
go to the line in the file the error occurred in. This is cool because I had to
write zero code to support it - if your error message is in a .NET exception
format the build window knows how to parse the name of the file and load it up
in the IDE.
I left almost all simple properties of the tasks as
strings on purpose - because even many true/false properties of tasks (like
"debug") are set using property replacement (${debug) etc.) in many scripts.
Tasks that have child XML elements like fileset, NDoc documenter elements etc.
can be expanded in the Visual Studio.NET property window to show each member,
and edit each property.
I went in general for simplicity - whats the
minimum code a task developer could write to integrate with the IDE, for the
most possible XML data in their task that they could edit. It seems to work
pretty good so far, there are definately bugs and I'm hoping more of you will
become familiar with the source so you can help out. You can build it using
Visual Studio.NET or NAnt - make sure you read the ReadMeFirst!.htm file that is
in the root for some special directions either way.
Oh by the way, I also wrote that Ant
addin for Forte and dontated it to Netbeans ;). Sun has pretty much taken it
over at this point and I am switched to .NET, so I figured it was time
to write one for Microsoft's IDE instead.
-Jayme
|
- RE: [nant-dev] Visual Studio.NET Addin initial thoughs Jayme Edwards
- RE: [nant-dev] Visual Studio.NET Addin initial thoughs Browning, Don