创建你自己的Visual Studio项目模板

1.  创建VSDIR文件

2.  创建VSZ文件

3.  创建默认的javascripts

4.  创建文件模板

 

1.创建VSDIR文件

到目录

<Program Files>\Microsoft Visual Studio .NET 2003\VC#\CSharpProjects下创建

VSDIR 提供了模板的基本信息,如名字,描述和图标等

参数请参照http://msdn.microsoft.com/en-us/library/2sc7ft4a(v=vs.80).aspx

如:

MyTemplate.vsz|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|My Template|10|This is a project template for creating my own things|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|4548||MyTemplate

 

参数如下图

创建你自己的Visual Studio项目模板_第1张图片

 

2.创建VSZ文件

到目录

<Program Files>\Microsoft Visual Studio .NET 2003\VC#\CSharpProjects下创建

创建如下文件内容

VSWIZARD 7.0
Wizard=VsWizard.VsWizardEngine.7.1
Param="WIZARD_NAME = MyTemplate"
Param="WIZARD_UI = FALSE"
Param="PROJECT_TYPE = CSPROJ"

 

注意,不同的VS版本对应不同的VsWizard.VsWizardEngine的版本

参数如下:

image

在这里,我们用VsWizard 对象,然后在项目模板里就能看到MyTemplate的模板

 

3.把文件添加到项目中

VS会查找如下目录<Program Files>\Microsoft Visual Studio .NET 2003\VC#\VC#Wizards 的脚本文件

 

创建如下文件

文件夹:
<Program Files>Microsoft Visual Studio .NET 2003\VC#\VC#Wizards\MyTemplate
文件夹

<Program Files>\Microsoft Visual Studio .NET 2003\VC#\VC#Wizards\MyTemplate\Scripts\1033

创建如下的脚本文件:

function OnFinish(selProj, selObj) {
    var oldSuppressUIValue = true;
     try {
           oldSuppressUIValue = dte.SuppressUI;
           var strProjectPath = wizard.FindSymbol("PROJECT_PATH");
           var strProjectName = wizard.FindSymbol("PROJECT_NAME");
           var strSafeProjectName = CreateSafeName(strProjectName);
           wizard.AddSymbol("SAFE_PROJECT_NAME", strSafeProjectName);
           var proj = CreateCSharpProject(strProjectName, strProjectPath, "default.csproj");
           var InfFile = CreateInfFile();
           if (proj) {
               AddReferencesForClass(proj);
               AddFilesToCSharpProject(proj, strProjectName, strProjectPath, InfFile, false);
                     }
           proj.Save();
           }
    catch(e) {

           if( e.description.length > 0 )
           SetErrorInfo(e);
           return e.number;
           }
    finally {
           dte.SuppressUI = oldSuppressUIValue;
           if( InfFile )
           InfFile.Delete();
           }
}

 


function GetCSharpTargetName(strName, strProjectName) {
           var strTarget = strName;
           switch (strName) {
                      case "File1.cs":
                      strTarget = "Class1.cs";
                      break;
                      }
           return strTarget;
           }
           function DoOpenFile(strName) {
                      var bOpen = false;
                      switch (strName) {
                      case "Class1.cs":
                      bOpen = true;
                      break;
           }
           return bOpen;

}


function SetFileProperties(oFileItem, strFileName) {
           if(strFileName == "File1.cs") {
           oFileItem.Properties("SubType").Value = "Code";
           }
}

这个脚本文件执行并创建项目,他会告诉 wizard 你的项目需要做什么,

 

4. 创建模板

 

创建如下目录

目录:
<Program Files>Microsoft Visual Studio .NET 2003\VC#\VC#Wizards\MyTemplate
目录

<Program Files>\Microsoft Visual Studio .NET 2003\VC#\VC#Wizards\MyTemplate\Templates\1033

创建一个叫Templates.inf 的文件

在里面如下:

File1.cs

 

然后创建File1.cs文件

内容如下:

namespace [!output SAFE_NAMESPACE_NAME] {
using System;
/// <summary>
/// [!output SAFE_CLASS_NAME].
/// </summary>
class [!output SAFE_CLASS_NAME] {
/// <summary>
/// The main entry point for the application.
/// </summary>
static void <?xml namespace="namespace" prefix="st1" ?>Main(string[] args) {
//
// TODO: Add code to start application here
//
}
}
}

你可能感兴趣的:(IO)