2017-05-17 58 views
7

Şu anda ASP.NET projeleriyle çalışan bir Visual Studio 2017 öğe şablonu uzantısına sahibim. Aşağıdaki .vstemplate sahiptir: Ayrıca VSIX dosyası,.NET Core projeleriyle çalışırken özel ItemTemplates almak için hangi ayarlar kullanılmalıdır?

ItemTemplates vardır başvuran

<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>Angular Component</Name> 
    <Description>Files for an Angular component</Description> 
    <RequiredFrameworkVersion>4.5</RequiredFrameworkVersion> 
    <Icon>AngularComponentTemplate.ico</Icon> 
    <ProjectType>CSharp</ProjectType> 
    <ProjectSubType>Web</ProjectSubType> 
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp> 
    </TemplateData> 
    <TemplateContent> 
    <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.component.html">base.component.html</ProjectItem> 
    <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$.component.ts">base.component.ts</ProjectItem> 
    </TemplateContent> 
</VSTemplate> 

\ CSharp projenin "VSIX Alt Yol" özelliği için Web

seti \ .

Bu şablonu ASP.NET Çekirdek projelerinde görünmesi için alamıyorum.

<ProjectType>DNX</ProjectType> 
<TemplateGroupID>SharedDotNetAndDotNetWeb</TemplateGroupID> 

(https://stackoverflow.com/a/38543920/1783619 itibaren) ama işe yaramadı: Ben vstemplate bu kullanarak çalıştı. Visual Stuido 2017'nin yayımlanan sürümünde, .NET çekirdek projelerinde görünecek öğe şablonlarını nasıl edinebilirim?

cevap

8

Aynı sorunu pug dosyaları için bir öğe şablonu oluştururken de yaşadım. İşte

ne yaptım: Profesyonel \ Common7 \ \ \ Program Files (x86) \ Microsoft Visual Studio \ 2017:

C:

Öncelikle, stok şablonları yazılır nasıl bulundu IDE \ ItemTemplates \ AspNetCore

Bu benim şablon böyle görünecektir:

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item"> 
    <TemplateData> 
    <DefaultName>page.pug</DefaultName> 
    <Name>Pug File</Name> 
    <Description>This is a basic pug file template (previously Jade)</Description> 
    <ProjectType>CSharp</ProjectType> 
    <TemplateGroupID>AspNetCore</TemplateGroupID> 
    <TemplateID>AspNetCore.Pug</TemplateID> 
    <NumberOfParentCategoriesToRollUp>2</NumberOfParentCategoriesToRollUp> 
    <Icon>__TemplateIcon.ico</Icon> 
    <PreviewImage>__PreviewImage.ico</PreviewImage> 
    <SortOrder>10</SortOrder> 
    <ShowByDefault>false</ShowByDefault> 
    </TemplateData> 
    <TemplateContent> 
    <References /> 
    <ProjectItem ReplaceParameters="true">page.pug</ProjectItem> 
    </TemplateContent> 
</VSTemplate> 
dikkat etmek

Alanlar: ProjectType, TemplateGrou Pid, TemplateId (kendi makyaj) ve NumberOfParentCategoriesToRollUp ben ağırlıklı olarak HTML ve CSS tip şablonları yüzden

Visual Studio 2017\Templates\ItemTemplates\Visual C#\AspNetCore\Web\Content 
benim zip dosyası yerleştirildi "İçerik" kategorisinde, gösterilmesini benim şablon istedi

Bu yapıyı almak için birkaç dizin (AspNetCore \ Web \ Content) oluşturmam gerekiyordu. Daha sonra "NumberOfParentCategoriesToRollUp" ayarı 2 olarak ayarlandığında, şablonun "İçerik" kategorisinde görüntülenmesine, ayrıca "roll up" olmasına ve Web ve AspNetCore kategorilerinde gösterilmesine izin verilir.

devenv /updateconfiguration 
: Tüm bittiğinde

https://docs.microsoft.com/en-us/visualstudio/ide/how-to-locate-and-organize-project-and-item-templates

Sonra görsel stüdyo 2017 geliştirici komut istemini açın ve, burada şablonları organizasyonu hakkında

diğer bilgiler