[MonoDevelop] [PATCH] - enable out-of-project files inside of a project
chmorgan at gmail.com
Wed Sep 13 08:50:00 EDT 2006
On 9/13/06, Lluis Sanchez <lluis at ximian.com> wrote:
> El mar, 12-09-2006 a las 21:12 -0400, Chris Morgan escribió:
> > On Tuesday 12 September 2006 1:27 pm, Lluis Sanchez wrote:
> > > > I looked through ProjectNodeBuilder.cs and I can't figure out where the
> > > > recusion might be occurring. I added console prints to
> > > > ProjectNodeBuilder::FindParentFolderNode() but I don't see any prints
> > > > during the below crash that I've dumped.
> > >
> > > The recursion was in ShowAllFilesBuilderExtension.cs, and I just fixed
> > > it.
> > > However, I'm wondering what's the real use case for file links. Isn't a
> > > shared class library a solution for what you are trying to do?
> > >
> > > Lluis.
> > After your patch there isn't a crash when removing out-of-project files
> > however I'm unable to add files back in because
> > ProjectNodeBuilder::FindParentFolderNode() fails. How should we address the
> > fundamental issue that FindParentFolderNode() simply won't be able to find
> > the file inside of the tree?
> > How should we handle the condition where FindParentFolderNode() returns null
> > in ProjectNodeBuilder::AddFile()? It seems like we need a ITreeBuilder but
> > I'm not sure if just creating one using the project base directory is good
> > enough since that doesn't address linking a file into a nested project
> > directory...
> Files from outside the project folder would need to be handled in a
> different way. The code that calls FindParentFolderNode is needed to
> make sure the tree branch where the file belong is visible in the tree.
> For linked files, this is not necessary since they can be added as
> direct children of the project node.
Would you have any idea which class I should look at for the code that
should differentiate between included and linked files? I'm still
having a tough time figuring out the class layout and interations
given the large number of classes used ;-)
More information about the Monodevelop-list