[Visual Studio] 方案总管中,自定义档案与档案之间的父子关系

使用Visual Studio开发软件项目时,透过Visual Studio所提供的方案总管,可以很方便的管理程序代码与相关资源。方案总管中每个软件项目的程序代码档案会以树状结构的方式来呈现,这个树状结构主要是依照实体目录路径、实体档案路径来做为呈现的参考。

 

 

随着时代的演进,单纯依照实体目录路径、实体档案路径来做为树状结构呈现的参考,已经慢慢跟不上开发上的需求。例如说,软件项目里一个ASP.NET网页,就包含了开发人员撰写的.aspx、.cs以及系统产生的.designer.cs三个程序代码档案。这时方案总管上如果单纯依照上列规则来呈现,可以预期到,当项目内ASP.NET网页越来越多的时候,方案总管内会被满满的程序代码档案列表所淹没,进而影响开发人员寻找程序代码档案的效率。

 

 

Visual Studio的方案总管为了更方便的管理程序代码与相关资源,在软件项目的项目文件(.csproj)里加入了,定义档案与档案之间父子关系的功能。有了这个功能,方案总管在以树状结构来呈现程序代码档案的时候,就能透过父子关系的定义来做为呈现的参考,用来加强程序代码档案收纳归类的能力,进而提高开发人员寻找程序代码档案的效率。

 

例如下列范例是一个ASP.NET应用程序项目文件的内容节录,这段内容主要是定义项目内包含了三个档案:WebForm1.aspx、WebForm1.aspx.cs、WebForm1.aspx.designer.cs,其中WebForm1.aspx.cs、WebForm1.aspx.designer.cs这两个档案依赖于WebForm1.aspx,换个角度说也就是:WebForm1.aspx是另外两个程序代码档案的父档案。项目档的内容中有了这个父子关系的定义,在方案总管上的呈现,就会是开发人员熟悉的WebForm1.aspx档案下有.cs、.designer.cs两个档案。

 

<ItemGroup>
  <Content Include="WebForm1.aspx" />
</ItemGroup>
<ItemGroup>
  <Compile Include="WebForm1.aspx.cs">
    <DependentUpon>WebForm1.aspx</DependentUpon>
  </Compile>
  <Compile Include="WebForm1.aspx.designer.cs">
    <DependentUpon>WebForm1.aspx</DependentUpon>
  </Compile>
</ItemGroup>

 

 

在原生状态下,Visual Studio IDE并不提供档案与档案之间父子关系的编辑功能,开发人员在加入新项目到软件项目时,只能使用预设的父子关系定义。例如:在WPF软件项目中加入新的WPF窗口,IDE会加入.xaml与.cs两个程序代码档案,并且定义.xaml是.cs的的父档案。

 

开发人员如果需要自定义档案与档案之间父子关系,最快的方式就是使用记事本打开项目档(.csproj)来做修改,不过这个方式很容易改错、并且非常的不人性化,不建议开发人员采用这个解决方案。比较建议的方式是安装扩充套件,例如:「VSCommands for Visual Studio 2012」套件,这个套件为Visual Studio扩充了许多的功能,其中一个功能就是:提供档案与档案之间父子关系的编辑功能。



接下来的范例内容,就介绍如何透过「VSCommands for Visual Studio 2012」这个套件提供的功能,来编辑档案与档案之间父子关系。

 

1. 范例是一个ASP.NET应用程序,在这个软件项目里,包含了一个WebForm以及这个WebForm专用的CSS档案。

 

 

2. 在Visual Studio的方案总管中,选取WebForm1.aspx、WebForm1.aspx.css这两个档案并且按下鼠标右键。这时如果已经安装「VSCommands for Visual Studio 2012」,可以在选单中看到Group Items这个选项,接着点击这个选项。

 

 

3. 接着VS会提供一个对话框,条列上一个步骤选择的档案,并且要求开发人员选择哪个档案是父档案(其余档案就是子档案)。这时选择WebForm1.aspx并且按下Ok按钮。

 

 

4. 经由上列三个步骤,就完成了WebForm1.aspx、WebForm1.aspx.css这两个之间父子关系的编辑。在方案总管中可以观察到WebForm1.aspx.css已经被归类在WebForm1.aspx之下,并且可以被折迭隐藏让整个项目变的更加清爽。

 

 

 

本文的最后要来大推一下Demo佛心建立的Best Gallery | demo小铺。这个网站介绍了许多实用的Visual Studio的套件,其中许多套件都能让开发工作更加轻松、更加的有效率,使用VS2010和VS2012 做为谋生工具的开发人员千万不要错过了。:D


posted @ 2013-05-19 16:26  Clark159  阅读(532)  评论(0编辑  收藏  举报