@【TOC】
有效的在项目中组织C++文件,分配各种文件的目录对以后的维护会有好处的,至少不会出现不知道什么东西在什么地方,特别是大的项目,这里用TextSearcher来做例子。
使用SVN来管理项目会让我们的工作更轻松,工作也会更简单容易。(SVN后续文章介绍)
掌握常用的快捷键和常用的VS功能让我们的工作更有效。
合理的组织文件体系
本文前半部分参考文章《Visual C++ 2010入门教程》系列五:合理组织项目、使用外部工具让工作更有效,
后半部分是自己的项目实例;
1 优点及方法介绍
首先说在IDE中为我们的文件分类组织,如下图所示:
我把不同功能的代码和文件放在不同的Filter下面,如何添加这样的Filter呢?
这样就可以添加筛选器了,默认情况下VS为我们创建三个筛选器:头文件、源文件和资源文件,实际上我们可以再增加很多。这样区分开的好处就是各个功能的代码被分开了,在文件很多的情况下不会造成混乱。如TextSearcher,它的搜索算法、软件控制逻辑、自定义控件、GUI模块、线程化操作都是分开的,这样我可以很容易找到我想找的文件,而且还可以检视自己的模块划分是否合理等等。
接下来推荐大家在项目资源浏览器中为不同的文件划分目录。
比如上图将头文件和源文件、资源图标文件、本地化文件和配置文件分开组织,这样也是为了防止混乱。值得注意的是当我们把文件用文件分开的时候,需要在项目属性设置里面包含我们的子目录,否则我们无法在源文件中直接用#include指令包含我们的头文件。如下图所示这样的情况,如果不添加,无法找到头文件。
如下图所示,找到项目属性中,C++,常规中把我们的子目录作为附加路径添加到“附加包含目录”中。
2 筛选器–项目实例
2.1 使用 筛选器 原因
当我的项目中要用到很多的头文件和.cpp文件 (这些文件是提前写好的,现在要添加到当前项目中使用,如果直接添加到“头文件”、"源文件"中太多太乱了)
下面是当前项目新生成的头文件和源文件;
可以看到 只有6个头文件,3个.cpp文件,如果把上面的文件直接加进来,就太乱了
2.2 新建筛选器 及 添加相应文件
通过上述方法,新建筛选器,将其命名为 ChartCtrl
选中 ChartCtrl
文件,右键添加–现有项–在磁盘文件中找到要添加的.h、.cpp添加;
添加后的效果
创建筛选器后,工程目录下 *.vcxproj.filters 文件用来记录筛选器,此文件不能删除,否则筛选器将消失.
2.3 附加包含目录
本项目中,我们为了 添加 .h、.cpp文件方便,在项目下新建一个文件夹ChartCtrl
,将所有的要添加到筛选器的文件 都放在ChartCtrl文件夹了。(VS 界面的筛选器文件夹名称 可以和这文件夹名称可以不一样)
注意:
- 1.添加到筛选器的文件可以是其他任意中的文件;
现在已经知道,附加包含目录(要添加的文件路径)路径在项目路下 ChartCtrl
文件夹下 ./ChartCtrl/
现有两种方式添加目录:
方法1. 在项目属性–>常规–>编辑附加包含目录
设置好了 附加包含目录,就可以直接这样引用头文件了
#include "ChartCtrl.h"
#include "ChartLineSerie.h"
方法2. 路径直接在引用头文件时包含#include “”
#include "ChartCtrl/ChartCtrl.h"
#include "ChartCtrl/ChartLineSerie.h"