单击菜单添加项目时如何基于特定模板添加项目?
How to add an item based on a specific template when click on menu Add item?
我想创建一个模板,例如(在文件夹中创建一个文件夹 create 1 class 和 1 interface with the names of the folder),它将通过右键单击项目并在菜单,会出现CreateTamplateClass
我可以使用 c# WinForms/控制台应用程序等来完成吗?
TNX
Visual Studio 具有带参数替换的文件夹的多文件项模板
您可以创建一个 C# 项目模板 项目或自己手动创建项目模板 zip 文件。
项目模板 zip 文件应包含以下文件:
Class.cs
Interface.cs
MyItemTemplate.vstemplate
然后您需要将 zip 文件复制到以下文件夹:
%USERPROFILE%\Documents\Visual Studio 2017\Templates\ItemTemplates\Visual C#
然后打开 Visual Studio 的新实例和 create/open 一个 C# 项目,然后打开 添加新项 window 并选择 [=来自 Visual C# Items 的 38=]MyItemTemplate 并指定一个类似 MyItem1 的名称,然后将创建以下结构:
以下是 zip 文件中模板文件的内容:
Class.cs
using System;
using System.Collections.Generic;
namespace $rootnamespace$.$basename$
{
class $safeitemrootname$: I$safeitemrootname$
{
}
}
Interface.cs
using System;
using System.Collections.Generic;
namespace $rootnamespace$.$basename$
{
interface $safeitemrootname$
{
}
}
MyItemTemplate.vstemplate
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>MyItemTemplate</Name>
<Description>My multi-file item template</Description>
<Icon>MyItemTemplate.ico</Icon>
<TemplateID>52ae3bdb-7fde-4d47-8a4b-d17d0c9269f7</TemplateID>
<ProjectType>CSharp</ProjectType>
<DefaultName>MyItem.cs</DefaultName>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>System</Assembly>
</Reference>
</References>
<ProjectItem TargetFileName="$fileinputname$\I$fileinputname$.cs" ReplaceParameters="true">Interface.cs</ProjectItem>
<ProjectItem TargetFileName="$fileinputname$$fileinputname$.cs" ReplaceParameters="true">Class.cs</ProjectItem>
<CustomParameters>
<CustomParameter Name="$basename$" Value="$fileinputname$"/>
</CustomParameters>
</TemplateContent>
</VSTemplate>
我想创建一个模板,例如(在文件夹中创建一个文件夹 create 1 class 和 1 interface with the names of the folder),它将通过右键单击项目并在菜单,会出现CreateTamplateClass
我可以使用 c# WinForms/控制台应用程序等来完成吗?
TNX
Visual Studio 具有带参数替换的文件夹的多文件项模板
您可以创建一个 C# 项目模板 项目或自己手动创建项目模板 zip 文件。
项目模板 zip 文件应包含以下文件:
Class.cs
Interface.cs
MyItemTemplate.vstemplate
然后您需要将 zip 文件复制到以下文件夹:
%USERPROFILE%\Documents\Visual Studio 2017\Templates\ItemTemplates\Visual C#
然后打开 Visual Studio 的新实例和 create/open 一个 C# 项目,然后打开 添加新项 window 并选择 [=来自 Visual C# Items 的 38=]MyItemTemplate 并指定一个类似 MyItem1 的名称,然后将创建以下结构:
以下是 zip 文件中模板文件的内容:
Class.cs
using System;
using System.Collections.Generic;
namespace $rootnamespace$.$basename$
{
class $safeitemrootname$: I$safeitemrootname$
{
}
}
Interface.cs
using System;
using System.Collections.Generic;
namespace $rootnamespace$.$basename$
{
interface $safeitemrootname$
{
}
}
MyItemTemplate.vstemplate
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>MyItemTemplate</Name>
<Description>My multi-file item template</Description>
<Icon>MyItemTemplate.ico</Icon>
<TemplateID>52ae3bdb-7fde-4d47-8a4b-d17d0c9269f7</TemplateID>
<ProjectType>CSharp</ProjectType>
<DefaultName>MyItem.cs</DefaultName>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>System</Assembly>
</Reference>
</References>
<ProjectItem TargetFileName="$fileinputname$\I$fileinputname$.cs" ReplaceParameters="true">Interface.cs</ProjectItem>
<ProjectItem TargetFileName="$fileinputname$$fileinputname$.cs" ReplaceParameters="true">Class.cs</ProjectItem>
<CustomParameters>
<CustomParameter Name="$basename$" Value="$fileinputname$"/>
</CustomParameters>
</TemplateContent>
</VSTemplate>