[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