[MonoDevelop] [PATCH] - enable out-of-project files inside of a project

Lluis Sanchez lluis at ximian.com
Mon Sep 11 11:40:03 EDT 2006


El lun, 11-09-2006 a las 15:07 +0100, Michael Hutchinson escribió:
> On 9/11/06, Chris Morgan <chmorgan at gmail.com> wrote:
> > Visual Studio express doesn't create symlinks and I'm not a huge fan
> > of adding extra files to my project directory.  imo the reason we have
> > md project files is to keep track of things like where files are.
> 
> That's a valid point. However, the problem is integrating this feature
> with MD's project file structure, because users (and some of the code)
> expect it to be a mirror of the actual folder structure.
> 
> As I see it, there are three ways to implement this feature:
> 
> 1. MD symlinks --  essentially you'll be duplicating the filesystem
> functionality, by having symlinks in the MD project file structure.
> You'll need a UI for users to see and edit the symlinks. The problem
> here is that all files will have two paths, the 'project path' and the
> 'real path'. You'll need to do a review of all parts of MD code that
> use the ProjectFile class (especially the Deployment APIs) to make
> sure that they handle these paths correctly.
> 
> 2. Filesystem links -- this is probably an easier and more robust
> version of (1), because the 'real path' can be kept internal.
> Everything else in MD should handle filesystem links, so can access
> the files using the 'project path', and the code review won't be
> necessary.
> 
> 3. Don't put files in the MD file structure -- have a special
> 'virtual' folder (like the 'references' folder), possibly with
> subfolders. You'll be making the nature of the file very explicit in
> the UI, but this will probably make the code, especially deployment,
> much more complicated.
> 
> Sorry if it sounds like I'm trying to make things difficult, but there
> are lots of not-so-obvious complications to this.
> 

I don't think it's so complicated. There may be some code in MD which
may have problems if a file is not in the project folder, but it should
not be complex to fix.

About the solution pad, the easiest solution is to show linked files
with a special icon, so it can be clearly seen that they are not in the
project folder.

BTW, I assume that linked file paths are relative to the project folder.

Lluis.




More information about the Monodevelop-list mailing list