C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具

上一篇:

C#,入门教程(05)------Visual Studio 2022源程序(源代码)自动排版的功能动画图示https://blog.csdn.net/beijinghorn/article/details/124675293

大家平时都怎么管理源代码与文件夹呢?世界上最好的集成开发环境(IDE)Visual Studio 2022,有很实用与便利的管理工具,称为"解决方案资源管理器"。

局部放大,请详细了解一下。

解决方案资源管理器的两个作用:

(1)显示、选择哪些引用 (DLL)作为工程的内容;

(2)显示、选择(设定)哪些代码作为工程的内容。

咱们分别做一点简要的介绍。

一、代码的管理

1、代码的类型

1.1 C# 源代码文件

C#的代码都是 .cs 为后缀。在工程中一般分为代码型 cs 与 设计型cs。

比如:Form.cs 是代码型cs,而 Form1.Designer.cs 就是设计型 cs,它与 Form.cs Form1.resx 共同实现了 Form1 的代码与设计细节。当然,Form1.Designer.cs 与 Form.cs 从程序上理解,没有什么本质的区别。

Form1.cs

Form1.Designer.cs

1.2 项目文件 csproj

还有一个重要的文件类型,就是 *.csproj 文件。

csproj 文件定义了项目中使用的"引用"和"代码"。这句话很熟悉?是的,就是"解决方案资源管理器 "的工作啊。实际上,咱们对于解决方案资源管理器的任何操作,都被记录于 csproj 文件。反过来,你自己直接编辑 csproj 文件,也可以实现这些工作。

编程多年,一般都配套 Editplus 作为文本编辑器,推荐!

2、代码的文件夹

默认情况下,所有cs等都放置于项目的当前文件夹下。

这不利于代码的效率管理。建议在当前文件夹下,创建 App_Code 文件夹(一般的 web 应用也是这个名字哈),然后在下面按 namespace 创建层级的子目录。

创建 App_Code 的好习惯,也可以为后续 多平台一体化开发 提供帮助。

文件夹与文件一样,可以随时设置为 未使用(排除) 或 使用。

未使用的文件夹下的所有代码,自动被设置为 未使用。

习惯与再创建一个 @Backup 文件夹,用于保存备份每天的代码。

3、代码的使用

代码的来源不外乎:(1)使用 New 菜单创建;(2)从别的 cs 文件复制并修改而来,或者从其他人的代码直接复制过来。呵呵!写了很多代码,几乎从来没有用过 new !

一般情况下,一定要注意代码的编码,首选 unicode,默认会有 BOM。如果代码可能被在 linux 下打开阅读,则一定要除去 BOM!

点击代码名称,并按鼠标右键,可以选择使用 或 不使用 该代码。

这有两个实用的价值:(1)某些不成熟的代码,可以暂时先放着;(2)某些不想发布出去的代码,可以被简单地隐藏起来。

使用:将一个代码加入项目的操作是鼠标右键 包括在项目中(J)。

不使用:点击文件 或 文件夹 右键菜单的 从项目中排除(J) 即可。

4、修改文件名的问题

为了协调大家的工作,经常会修改代码的文件名,有时候仅仅是修改一下大小写。

这个就不能直接在 解决方案资源管理器里面实现,需要修改文件名后直接编辑 csproj 文件即可。

二、引用的管理

引用是微软、第三方软件企业或小组成员开发的可使用的组件或链接库(DLL)。

现在经常通过 管理 Nuget 程序包来添加更多的引用,C# Nuget 比 python 的各种库更可靠。

添加引用的文章很多了。

引用的管理也是 使用 与 不使用。

打开 引用文件夹(?),鼠标右键:移除 即可不使用指定的引用。

POWER BY 315SOFT.COM

总之,解决方案资源管理器 就是你的工作桌面,及时清理与整理是提高工作效率的重要手段之一。

下一篇:

C#,入门教程(07)------软件项目的源文件与目录结构https://blog.csdn.net/beijinghorn/article/details/124139947

相关推荐
向宇it1 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
九鼎科技-Leo1 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
Heaphaestus,RC2 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
baivfhpwxf20232 小时前
C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
开发语言·c#
直裾3 小时前
Scala全文单词统计
开发语言·c#·scala
ZwaterZ4 小时前
vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题
前端·vue.js·elementui·c#·vue
ZwaterZ6 小时前
el-table-column自动生成序号&&在序号前插入图标
前端·javascript·c#·vue
SRC_BLUE_179 小时前
SQLI LABS | Less-55 GET-Challenge-Union-14 Queries Allowed-Variation 2
oracle·c#·less
yngsqq10 小时前
037集——JoinEntities连接多段线polyline和圆弧arc(CAD—C#二次开发入门)
开发语言·c#·swift
Zԅ(¯ㅂ¯ԅ)10 小时前
C#桌面应用制作计算器进阶版01
开发语言·c#