VS自己定义project向导开发(Custom Wizard)



在vs2010中定制VC++project向导有例如以下两种方式:

  1. 改动现有向导。以满足自己的须要;
  2. 使用“自己定义向导”来产生一个向导骨架,并设计自己的向导。

本文档仅仅讨论另外一种方式。

建立自己定义向导过程例如以下:

第一步。新建“自己定义向导”,建立方法例如以下图所看到的:

新建的自己定义向导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:

时间: 2024-10-26 18:28:28

VS自己定义project向导开发(Custom Wizard)的相关文章

VS自定义工程向导开发(Custom Wizard)

 在vs2010中定制VC++工程向导有如下两种方式: 修改现有向导,以满足自己的需要: 使用"自定义向导"来产生一个向导骨架,并设计自己的向导. 本文档只讨论第二种方式. 建立自定义向导步骤如下: 第一步,新建"自定义向导",建立方法如下图所示: 新建的自定义向导工程如下图所示,主要包含四个文件夹(都在START_PATH目录中):html.image.scripts和templates.html目录存放着作为UI的HTML文件:images目录存放着UI所使

Android 自己定义控件开发入门(二)

上一次我们讲了一堆实现自己定义控件的理论基础.列举了View类一些能够重写的方法,我们对这些方法的重写是我们继承View类来派生自己定义控件的关键 我通过一个最简单的样例给大家展示了这一个过程,不管是多么复杂的自己定义控件.思路总是这样子的,可是由于我们只重写了onDraw方法使得大家认为怪怪的.作为一个控件,我们竟然还要为了他的实现为其添加麻烦的监听,这就不能叫做控件了. 以下再给大家介绍一个常常重写的方法法:publicboolean onTouchEvent (MotionEvent ev

MXNet 定义新激活函数(Custom new activation function)

https://blog.csdn.net/weixin_34260991/article/details/87106463 这里使用比较简单的定义方式,只是在原有的激活函数调用中加入. 准备工作下载MXNet源代码,确认可以顺利编译通过.推荐在Linux下进行此操作: https://mxnet.incubator.apache.org/get_started/install.html 编写激活函数先前和先后传递在src/operator/mshadow_op.h里面,加入新的激活函数向前传递

Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架

最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包.比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个.NET的向导开发框架了,它叫Microsoft Visual Studio 2013 Wizard Framework.我并没有对其进行深入研究,单从名称上看,该框架是否只能在Visual Studio 2013下使用?上网搜索过,也没发现微软有比较详细的官方资料介绍这个框架.不过无论如何,我还是

前端project师养成记:开发环境搭建(Sublime Text必备插件推荐)

为了让自己更像一个前端project师,决定从开发环境開始武装自己. 本文将介绍前段project师开发的一些利器的安装步骤,主要包含了: 1.Node.js的安装 2.Grunt的安装及经常使用插件 3.Sublime Text的安装及必备插件 一.Node.js的安装 Node.js就是一堆前端project师捧红的,所以装上这个嘛,主要不是自己须要使用Node.js而是一堆工具对他的依赖. Windows下安装步骤非常easy: 1.去到http://nodejs.org/下载最新的安装包

软件project—思考项目开发那些事(一)

阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模型 5.1.产品的业务理解(业务流程.数据流程及场景) 5.2.技术人员的业务理解(领域模型.设计模型.抽象建模) 6.技术债务(腐烂的遗留代码) 7.软件项目管理与软件project的鸿沟(项目管理得有语境上下文) 7.1.软件项目管理事实上应该多去重视一些技术层面的管理 7.2.软件projec

用 Eclipse 开发 Android 应用程序

转自:http://www.apkbus.com/android-13828-1-1.html 开始之前 本教程介绍如何在 Eclipse 环境中进行 Android 应用程序开发,包括两个示例应用程序.第一个示例是一个基本的应用程序,涉及构建和调试的所有阶段.第二个应用程序示例涉及比较复杂的 Android 特性,包括联系人搜索和 Google Maps 地址查找.要想从本教程获得最大收益,具备移动开发经验会有帮助,但不是必需的.开发 Android 应用程序需要 Java? 编程技能,但是对

开发工具 - ObjectArx

虽然Civil3D .NET API是基于AutoCAD .NET API开发的,但是做Civil3D二次开发的时候,我们并不直接需要用到ObjectArx.Civil3D Plugin project需要reference 的DLL是 o AcDbMgd.dll o AcCoreMgd.dll o AcMgd.ll o AecBaseMgd.dll o AeccDbMgd.dll 其中,Ac开头的DLL是AutoCAD的API,Aec开头的是ACA的API,Aecc开头的是Civil3D的AP

【Android应用开发】Android Studio 简介 (Android Studio Overview)

一. Intelij IDEA 环境简介 Android Studio 来源 : Android Studio 是 Intelij IDEA 的免费版本 + Android SDK 集成的; -- Intelij 文档参考 : https://www.jetbrains.com/idea/help/intellij-idea.html ; 1. Intelij 与 Eclipse 区别 (1) Intelij 与 Eclipse 对应关系 Android Studio 与 Eclipse 对应