Just a couple more things, to quicken the process of making a "new" NAnt
script, all we would have to do is add a template to Visual Studio for new
NAnt files (a blank XML file with the project XML element) so someone can
select "Add New Item" from the menus in the IDE to get the dialog that would
display that template. The NAnt Addin already detects new .build files being
added, so it would automatically show up in the tree.

The other things I think that would be cool to add are as you guys were
mentioning in another thread - the ability to take the current VS.NET
project and export it to a .build file that could be looked at with the
Addin and executed. Also Scott had mentioned when I first was contacting him
about contributing this how it would be cool to be able to piggyback an NAnt
script's execution as a pre/post build step in a normal VS project.

One thing I was going to say is that I designed the Addin to access the XML
document directly, and not using the NAnt API for editing/display. The NAnt
API is only used for when the build is actually being executed. This may
sound like a bad thing at first, but in implementation it seems nice because
it minimizes the coupling between the NAnt API and the Addin.

-Jayme

----- Original Message -----
From: Jayme Edwards
To: [EMAIL PROTECTED]
Sent: Wednesday, July 17, 2002 2:48 AM
Subject: Visual Studio.NET Addin initial thoughs


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



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to