Cara mengatur lokasi template proyek di jendela Proyek Baru di elemen TemplateData

Saya membuat templat proyek baru sebagai proyek ekstensi Visual Studio dan ingin templat tersebut ditampilkan di grup khusus saya, yang sudah ada sebelum templat proyek dipasang, di bawah simpul Visual C#.

masukkan deskripsi gambar di sini

Saya berharap dimungkinkan untuk mengatur lokasi templat proyek di bagian .vstemplate file TemplatData. Saya sudah mencoba menyetel nilai ProjectSubType, TemplateGroupID, NumberOfParentCategoriesToRollUp tetapi tidak berhasil. Saat instance Eksperimental visual studio dimulai, templat proyek selalu ada di grup Visual C# namun tidak di Visual C#/Grup Saya. ProjectSubType tidak berfungsi meskipun Grup Saya sudah ada tetapi dokumentasi mengatakan itu harus dibuat dalam subgrup. Bagaimana cara menetapkan lokasi templat proyek di bagian Data Templat?


person Dmytro    schedule 15.03.2018    source sumber


Jawaban (1)


Templat khusus tidak menyertakan subdirektori untuk templat yang dilokalkan. Anda dapat mengubah direktori default untuk templat kustom di kotak dialog Opsi, di bawah Lingkungan\Proyek dan Solusi.

Saya sering menambahkan folder secara manual lalu menyalin file zip, misalnya saya membuat folder bernama "Grup Saya" di bawah folder C:\Users\xxx\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#.

Dan kemudian buat aplikasi Konsol sederhana bernama Jack dan ekspor template proyek ini, saya tidak memilih opsi ini. masukkan deskripsi gambar di sini

Lalu saya copy Jack.zip ke folder My Group diatas. Buka kembali VS, saya akan mendapatkan template proyek ini di bawah folder Grup Saya.

masukkan deskripsi gambar di sini

Ini adalah file .vstemplate default di sisi saya:

    <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
  <TemplateData>
    <Name>Jack</Name>
    <Description>&lt;No description available&gt;</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>Jack</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>__TemplateIcon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <Project TargetFileName="Jack.csproj" File="Jack.csproj" ReplaceParameters="true">
      <ProjectItem ReplaceParameters="true" TargetFileName="App.config">App.config</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Program.cs">Program.cs</ProjectItem>
      <Folder Name="Properties" TargetFolderName="Properties">
        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
      </Folder>
    </Project>
  </TemplateContent>
</VSTemplate>
person Fletcher    schedule 16.03.2018
comment
Terima kasih atas jawaban Anda, tapi saya tidak ingin menyalin template yang diinstal secara manual. Saya mengekspor template saya sebagai ekstensi Visual Studio. Dan setelah saya membuat file VSIX dan menginstal ekstensi saya, saya ingin template saya ada di tempatnya tanpa manipulasi manual. - person Dmytro; 16.03.2018
comment
Jika demikian, dapatkah membuat folder baru Grup Saya di folder templat proyek default? Bisakah itu menyalin file zip ke folder yang dibuat di proyek VSIX Anda? - person Jack Zhai-MSFT; 19.03.2018
comment
Jadi yang Anda sarankan adalah membuat folder dan menyalin file template .zip yang diinstal dengan kode C#? Apakah ini dianggap sebagai praktik yang baik? Bukankah ada metode bawaan? Dan jika demikian... Di mana saya harus menangani acara Instalasi Selesai ini? - person Dmytro; 21.03.2018