README.md
1 # PowerToy ModuleTemplate 2 3 # Introduction 4 This project is used to generate the Visual Studio PowerToys Module Template 5 6 # Instruction 7 In Visual Studio from the menu Project->Export Template... generate the template. 8 Set the name `PowerToys Module`, add a description `A project for creating a PowerToys module` and an icon. 9 Open the resulting .zip file in `%USERNAME%\Documents\Visual Studio 2022\Templates\ProjectTemplates` if using VS 2022, or `%USERNAME%\Documents\Visual Studio 18\Templates\ProjectTemplates` for VS 2026. 10 and edit `MyTemplate.vstemplate` to make the necessary changes, the resulting template should look like this: 11 12 ```xml 13 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project"> 14 <TemplateData> 15 <Name>PowerToys Module</Name> 16 <Description>A project for creating a PowerToys module</Description> 17 <ProjectType>VC</ProjectType> 18 <ProjectSubType> 19 </ProjectSubType> 20 <LanguageTag>C++</LanguageTag> 21 <PlatformTag>windows</PlatformTag> 22 <ProjectTypeTag>extension</ProjectTypeTag> 23 <SortOrder>1000</SortOrder> 24 <CreateNewFolder>true</CreateNewFolder> 25 <DefaultName>PowerToy</DefaultName> 26 <ProvideDefaultName>true</ProvideDefaultName> 27 <LocationField>Enabled</LocationField> 28 <EnableLocationBrowseButton>true</EnableLocationBrowseButton> 29 <Icon>__TemplateIcon.ico</Icon> 30 </TemplateData> 31 <TemplateContent> 32 <Project TargetFileName="$projectname$.vcxproj" File="ModuleTemplate.vcxproj" ReplaceParameters="true"> 33 <ProjectItem ReplaceParameters="false" TargetFileName="$projectname$.vcxproj.filters">ModuleTemplate.vcxproj.filters</ProjectItem> 34 <ProjectItem ReplaceParameters="true" TargetFileName="dllmain.cpp">dllmain.cpp</ProjectItem> 35 <ProjectItem ReplaceParameters="false" TargetFileName="pch.cpp">pch.cpp</ProjectItem> 36 <ProjectItem ReplaceParameters="false" TargetFileName="trace.cpp">trace.cpp</ProjectItem> 37 <ProjectItem ReplaceParameters="false" TargetFileName="pch.h">pch.h</ProjectItem> 38 <ProjectItem ReplaceParameters="false" TargetFileName="resource.h">resource.h</ProjectItem> 39 <ProjectItem ReplaceParameters="false" TargetFileName="trace.h">trace.h</ProjectItem> 40 <ProjectItem ReplaceParameters="true" TargetFileName="$projectname$.rc">ModuleTemplate.rc</ProjectItem> 41 </Project> 42 </TemplateContent> 43 </VSTemplate> 44 ```