VS自己定义project向导开发(Custom Wizard)
2017-07-13 13:16
239 查看
在vs2010中定制VC++project向导有例如以下两种方式:
改动现有向导。以满足自己的须要;
使用“自己定义向导”来产生一个向导骨架,并设计自己的向导。
本文档仅仅讨论另外一种方式。
建立自己定义向导过程例如以下:
第一步。新建“自己定义向导”,建立方法例如以下图所看到的:
新建的自己定义向导project例如以下图所看到的。主要包括四个文件夹(都在START_PATH文件夹中):html、image、scripts和templates。
html文件夹存放着作为UI的HTML文件;images文件夹存放着UI所使用的图片文件;scripts文件夹存放着用于控制向导行为的脚本文件;而templates文件夹存放着向导用来产生输出的模板文件。
新建向导project完毕后,再次new Project就会出现例如以下图所看到的的自己定义project向导。
注意:有时候新建自己定义向导后,在此new project时不会出现新定义的向导,这时候就要把CreateCustomProject()函数中PROJECT_TEMPLATE_PATH改为START_PATH。
PROJECT_TEMPLATE_PATH:
VC安装文件夹下的VCWizards文件夹
START_PATH:新建向导project文件夹
用自己定义的project向导新建文件的project布局例如以下图所看到的。project文件夹中没有Header Files和Resource
Files。
第二步,加入Header Files和Resource
Files
加入方法:在default.js里面的AddFilters(proj)函数中加入例如以下红色字体代码:
function AddFilters(proj)
{
try
{
//Add the folders to your project
varstrSrcFilter = wizard.FindSymbol('SOURCE_FILTER');
vargroup = proj.Object.AddFilter('Source Files');
group.Filter= strSrcFilter;
var strHeaderFilter =wizard.FindSymbol('SOURCE_FILTER');
var group =proj.Object.AddFilter('Header Files');
group.Filter = strHeaderFilter;
var strResourceFilter =wizard.FindSymbol('SOURCE_FILTER');
var group =proj.Object.AddFilter('Resource Files');
group.Filter = strResourceFilter;
}
catch(e)
{
throwe;
}
}
效果图例如以下:
第三步,在自己定义向导project中加入自己定义类,目的是在用自己定义project向导生成的project中能出现自己定义的类。
加入方法:
右击Template Files加入类,例如以下图所看到的
加入的类将出现树节点中,然后将这两个文件进行保存。
Templates.inf文件。在里面加入类的头文件和源文件,例如以下图所看到的:
最后,打开文件所在文件夹,将类的头文件源文件移动到Templates\1033文件夹下,例如以下图所看到的:
此时,新建project,在project文件夹下就有了类的头文件和源文件。例如以下图所看到的,
第四步,把类的头文件放在Header Files中。源文件放在Source
Files中
方法:在default.js中的AddFilters中加入例如以下红色字体代码。
function AddFilters(proj)
{
try
{
//Add the folders to your project
//varstrSrcFilter = wizard.FindSymbol('SOURCE_FILTER');
var strSrcFilter ="cpp";
var group =proj.Object.AddFilter('Source Files');
group.Filter = strSrcFilter;
// var strHeadFilter =wizard.FindSymbol('HEADER_FILTER');
var strHeadFilter = "h"
var headgroup = proj.Object.AddFilter('HeaderFiles');
headgroup.Filter = strHeadFilter;
//var strHeadFilter =wizard.FindSymbol('HEADER_FILTER');
var strJsonFilter = "json";
var resourceGroup =proj.Object.AddFilter('Resource Files');
resourceGroup.Filter = strJsonFilter;
}
catch(e)
{
throwe;
}
}
效果例如以下图所看到的。
第五步。就是改动类,得到所需的模板类了,假设须要类名和project名一致的话,做例如以下更改:
注意宏[!output XXX_XXX]假设想得到系统当前时间,用宏[!output
CURRENT_TIME]。然后相应的再default.js中加入例如以下红色代码,
function OnFinish(selProj,selObj)
{
try
{
var date;
var dateString;
date = new Date();
dateString = (date.getMonth() + 1) +"/";
dateString += date.getDate() +"/";
dateString += date.getYear();
wizard.AddSymbol("CURRENT_DATE", dateString);
var strProjectPath =wizard.FindSymbol('PROJECT_PATH');
varstrProjectName = wizard.FindSymbol('PROJECT_NAME');
selProj= CreateCustomProject(strProjectName, strProjectPath);
AddConfig(selProj,strProjectName);
AddFilters(selProj);
第六步。project环境配置,在default.vcxproj中进行。
关键文件解说:
default.js:
templates.inf:
default.vcxproj:
.vsz:
.vsdir:
在vs2010中定制VC++project向导有例如以下两种方式:
改动现有向导。以满足自己的须要;
使用“自己定义向导”来产生一个向导骨架,并设计自己的向导。
本文档仅仅讨论另外一种方式。
建立自己定义向导过程例如以下:
第一步。新建“自己定义向导”,建立方法例如以下图所看到的:
新建的自己定义向导project例如以下图所看到的。主要包括四个文件夹(都在START_PATH文件夹中):html、image、scripts和templates。
html文件夹存放着作为UI的HTML文件;images文件夹存放着UI所使用的图片文件;scripts文件夹存放着用于控制向导行为的脚本文件;而templates文件夹存放着向导用来产生输出的模板文件。
新建向导project完毕后,再次new Project就会出现例如以下图所看到的的自己定义project向导。
注意:有时候新建自己定义向导后,在此new project时不会出现新定义的向导,这时候就要把CreateCustomProject()函数中PROJECT_TEMPLATE_PATH改为START_PATH。
PROJECT_TEMPLATE_PATH:
VC安装文件夹下的VCWizards文件夹
START_PATH:新建向导project文件夹
用自己定义的project向导新建文件的project布局例如以下图所看到的。project文件夹中没有Header Files和Resource
Files。
第二步,加入Header Files和Resource
Files
加入方法:在default.js里面的AddFilters(proj)函数中加入例如以下红色字体代码:
function AddFilters(proj)
{
try
{
//Add the folders to your project
varstrSrcFilter = wizard.FindSymbol('SOURCE_FILTER');
vargroup = proj.Object.AddFilter('Source Files');
group.Filter= strSrcFilter;
var strHeaderFilter =wizard.FindSymbol('SOURCE_FILTER');
var group =proj.Object.AddFilter('Header Files');
group.Filter = strHeaderFilter;
var strResourceFilter =wizard.FindSymbol('SOURCE_FILTER');
var group =proj.Object.AddFilter('Resource Files');
group.Filter = strResourceFilter;
}
catch(e)
{
throwe;
}
}
效果图例如以下:
第三步,在自己定义向导project中加入自己定义类,目的是在用自己定义project向导生成的project中能出现自己定义的类。
加入方法:
右击Template Files加入类,例如以下图所看到的
加入的类将出现树节点中,然后将这两个文件进行保存。
Templates.inf文件。在里面加入类的头文件和源文件,例如以下图所看到的:
最后,打开文件所在文件夹,将类的头文件源文件移动到Templates\1033文件夹下,例如以下图所看到的:
此时,新建project,在project文件夹下就有了类的头文件和源文件。例如以下图所看到的,
第四步,把类的头文件放在Header Files中。源文件放在Source
Files中
方法:在default.js中的AddFilters中加入例如以下红色字体代码。
function AddFilters(proj)
{
try
{
//Add the folders to your project
//varstrSrcFilter = wizard.FindSymbol('SOURCE_FILTER');
var strSrcFilter ="cpp";
var group =proj.Object.AddFilter('Source Files');
group.Filter = strSrcFilter;
// var strHeadFilter =wizard.FindSymbol('HEADER_FILTER');
var strHeadFilter = "h"
var headgroup = proj.Object.AddFilter('HeaderFiles');
headgroup.Filter = strHeadFilter;
//var strHeadFilter =wizard.FindSymbol('HEADER_FILTER');
var strJsonFilter = "json";
var resourceGroup =proj.Object.AddFilter('Resource Files');
resourceGroup.Filter = strJsonFilter;
}
catch(e)
{
throwe;
}
}
效果例如以下图所看到的。
第五步。就是改动类,得到所需的模板类了,假设须要类名和project名一致的话,做例如以下更改:
注意宏[!output XXX_XXX]假设想得到系统当前时间,用宏[!output
CURRENT_TIME]。然后相应的再default.js中加入例如以下红色代码,
function OnFinish(selProj,selObj)
{
try
{
var date;
var dateString;
date = new Date();
dateString = (date.getMonth() + 1) +"/";
dateString += date.getDate() +"/";
dateString += date.getYear();
wizard.AddSymbol("CURRENT_DATE", dateString);
var strProjectPath =wizard.FindSymbol('PROJECT_PATH');
varstrProjectName = wizard.FindSymbol('PROJECT_NAME');
selProj= CreateCustomProject(strProjectName, strProjectPath);
AddConfig(selProj,strProjectName);
AddFilters(selProj);
第六步。project环境配置,在default.vcxproj中进行。
关键文件解说:
default.js:
templates.inf:
default.vcxproj:
.vsz:
.vsdir:
相关文章推荐
- VS自定义工程向导开发(Custom Wizard)
- 使用cuda_vs_wizard_w64 2.2版,建cuda工程时出现错误:“Err source:CreatcustomProject。”
- 利用VS.NET 宏生成属性定义以加快开发速度
- 在VS中使用独立的项目(Project)开发DNN模块
- VS插件开发——格式化变量定义语句块
- Android开发之自己定义TabHost文字及背景(源码分享)
- swap vs templates 模板类中定义自己的swap函数
- 让我们一起来对VSTS扩展开发吧------制作自己的VSTS模版----第五节 分析过程模版的定义文件
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
- rcp(插件开发) 如何查找自己定义的扩展点
- Eclipse 插件开发-如何扩展 WTP Wizard(J2EE创建Web项目向导)
- JAVA与多线程开发(线程基础、继承Thread类来定义自己的线程、实现Runnable接口来解决单继承局限性、控制多线程程并发)
- VC9 VS2008 IDE 增加自定义Custom Wizard ——自行操作流程(定制用户向导)
- 配置实现-列表定义,编辑需自己开发的扩展实现举例(源代码)
- 使用Custom Action制定VS Setup Project的自定义操作
- rcp(插件开发) 如何查找自己定义的扩展点
- 使用VS进行工作流开发系列博客1-"So You Want to Develop Custom Workflows in Visual Studio..." - The Blog Series
- 开发自己的Maven插件之二:利用创建向导简化工作
- 安卓应用开发之定义自己的权限
- jquery mobile自己定义webapp开发实例(一)——前言篇