[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两个档案。
1 2 3 4 5 6 7 8 9 10 11 | < 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
期許自己~
能以更簡潔的文字與程式碼,傳達出程式設計背後的精神。
真正做到「以形寫神」的境界。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?