Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dev/VSIX/DotnetNewTemplates/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ dotnet new install Microsoft.WindowsAppSDK.WinUI.CSharp.Templates
| Short Name | Description |
|------------------|----------------------------------------------------------|
| `winui` | WinUI 3 blank app with single-project MSIX packaging |
| `winui-mvvm` | WinUI 3 MVVM app with CommunityToolkit.Mvvm |
| `winui-navview` | WinUI 3 NavigationView starter app |
| `winui-lib` | WinUI 3 class library for sharing UI components |
| `winui-unittest` | WinUI 3 packaged test app configured for MSTest |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@
<None Include="README.md" Pack="true" PackagePath="README.md" />
</ItemGroup>

<!-- Shared .gitignore for all project templates -->
<PropertyGroup>
<_GitignoreSource>templates\gitignore.txt</_GitignoreSource>
</PropertyGroup>

<!-- WinUI Blank App template -->
<ItemGroup>
<None Include="templates\single-project\.template.config\**\*.*"
Expand All @@ -49,6 +54,9 @@
<None Include="..\ProjectTemplates\Desktop\CSharp\SingleProjectPackagedApp\Package-managed.appxmanifest"
Pack="true"
PackagePath="content/winui.blankapp/Package.appxmanifest" />
<None Include="$(_GitignoreSource)"
Pack="true"
PackagePath="content/winui.blankapp/gitignore.txt" />
</ItemGroup>

<!-- WinUI NavigationView template -->
Expand All @@ -63,6 +71,9 @@
<None Include="..\ProjectTemplates\Desktop\CSharp\NavigationApp\Package-managed.appxmanifest"
Pack="true"
PackagePath="content/winui.navview/Package.appxmanifest" />
<None Include="$(_GitignoreSource)"
Pack="true"
PackagePath="content/winui.navview/gitignore.txt" />
</ItemGroup>

<!-- WinUI Class Library template -->
Expand All @@ -74,6 +85,9 @@
Exclude="..\ProjectTemplates\Desktop\CSharp\ClassLibrary\bin\**;..\ProjectTemplates\Desktop\CSharp\ClassLibrary\obj\**;..\ProjectTemplates\Desktop\CSharp\ClassLibrary\WinUI.Desktop.Cs.ClassLibrary.csproj;..\ProjectTemplates\Desktop\CSharp\ClassLibrary\WinUI.Desktop.Cs.ClassLibrary.ico;..\ProjectTemplates\Desktop\CSharp\ClassLibrary\WinUI.Desktop.Cs.ClassLibrary.png;..\ProjectTemplates\Desktop\CSharp\ClassLibrary\WinUI.Desktop.Cs.ClassLibrary.vstemplate"
Pack="true"
PackagePath="content/winui.classlib/%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="$(_GitignoreSource)"
Pack="true"
PackagePath="content/winui.classlib/gitignore.txt" />
</ItemGroup>

<!-- WinUI Unit Test template -->
Expand All @@ -88,6 +102,36 @@
<None Include="..\ProjectTemplates\Desktop\CSharp\UnitTestApp\Package-managed.appxmanifest"
Pack="true"
PackagePath="content/winui.unittest/Package.appxmanifest" />
<None Include="$(_GitignoreSource)"
Pack="true"
PackagePath="content/winui.unittest/gitignore.txt" />
</ItemGroup>

<!-- WinUI MVVM App template -->
<ItemGroup>
<None Include="templates\mvvm-app\.template.config\**\*.*"
Pack="true"
PackagePath="content/winui.mvvmapp/.template.config/%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\ProjectTemplates\Desktop\CSharp\MvvmApp\**\*.*"
Exclude="..\ProjectTemplates\Desktop\CSharp\MvvmApp\bin\**;..\ProjectTemplates\Desktop\CSharp\MvvmApp\obj\**"
Pack="true"
PackagePath="content/winui.mvvmapp/%(RecursiveDir)%(Filename)%(Extension)" />
<!-- Reuse Assets, Properties, app.manifest, and Package.appxmanifest from blank app -->
<None Include="..\ProjectTemplates\Desktop\CSharp\SingleProjectPackagedApp\Assets\**\*.*"
Pack="true"
PackagePath="content/winui.mvvmapp/Assets/%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\ProjectTemplates\Desktop\CSharp\SingleProjectPackagedApp\Properties\**\*.*"
Pack="true"
PackagePath="content/winui.mvvmapp/Properties/%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\ProjectTemplates\Desktop\CSharp\SingleProjectPackagedApp\app.manifest"
Pack="true"
PackagePath="content/winui.mvvmapp/app.manifest" />
<None Include="..\ProjectTemplates\Desktop\CSharp\SingleProjectPackagedApp\Package-managed.appxmanifest"
Pack="true"
PackagePath="content/winui.mvvmapp/Package.appxmanifest" />
<None Include="$(_GitignoreSource)"
Pack="true"
PackagePath="content/winui.mvvmapp/gitignore.txt" />
</ItemGroup>

<!-- WinUI Blank Window item template -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.ClassLibrary",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.ClassLibrary",
"name": "WinUI Class Library",
"shortName": "winui-lib",
"shortNameList": ["wasdk-classlib"],
"shortName": ["winui-lib", "winui3-lib", "wasdk-classlib"],
"sourceName": "ProjectTemplate",
"defaultName": "WinUILibrary",
"description": "Creates a WinUI 3 class library for sharing UI components.",
Expand Down Expand Up @@ -77,6 +76,13 @@
"replaces": "$DotNetVersion$"
}
},
"sources": [
{
"rename": {
"gitignore.txt": ".gitignore"
}
}
],
"primaryOutputs": [
{ "path": "ProjectTemplate.csproj" }
],
Expand Down
54 changes: 54 additions & 0 deletions dev/VSIX/DotnetNewTemplates/templates/gitignore.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
## .NET / Visual Studio
[Bb]in/
[Oo]bj/
[Dd]ebug/
[Rr]elease/
.vs/
*.user
*.suo
*.userosscache
*.sln.docstates
artifacts/

# Build logs
[Ll]og/
[Ll]ogs/
*.log
*.binlog

# Test results
[Tt]est[Rr]esult*/
*.trx
*.coverage
*.coveragexml

# NuGet
*.nupkg
*.snupkg
*.nuget.props
*.nuget.targets
project.lock.json

# MSIX packaging output
AppPackages/
BundleArtifacts/
*.msix
*.msixupload
*.appx
*.appxbundle
*.appxupload

# Publish output
publish/
*.pubxml
PublishScripts/

# Code analysis and tooling
_ReSharper*/
*.DotSettings.user
*.dotCover
.idea/

# Generated files
Generated\ Files/
*_wpftmp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.Page",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.Page",
"name": "WinUI Blank Page (Item)",
"shortName": "winui-page",
"shortName": ["winui-page", "winui3-page"],
"sourceName": "BlankPage",
"defaultName": "BlankPage",
"description": "Adds a WinUI 3 Page with XAML markup and code-behind.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.Window",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.Window",
"name": "WinUI Blank Window (Item)",
"shortName": "winui-window",
"shortNameList": ["wasdk-item-blankwin"],
"shortName": ["winui-window", "winui3-window", "wasdk-item-blankwin"],
"sourceName": "BlankWindow",
"defaultName": "BlankWindow",
"description": "Adds a WinUI 3 Window with XAML markup and code-behind.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.ContentDialog",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.ContentDialog",
"name": "WinUI Content Dialog (Item)",
"shortName": "winui-dialog",
"shortName": ["winui-dialog", "winui3-dialog"],
"sourceName": "ContentDialog",
"defaultName": "ContentDialog",
"description": "Adds a WinUI 3 ContentDialog with markup and code-behind.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.ResourceDictionary",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.ResourceDictionary",
"name": "WinUI Resource Dictionary (Item)",
"shortName": "winui-resourcedictionary",
"shortName": ["winui-resourcedictionary", "winui3-resourcedictionary"],
"sourceName": "ResourceDictionary",
"defaultName": "ResourceDictionary",
"description": "Adds a WinUI 3 ResourceDictionary for sharing styles and resources.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.Resw",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.Resw",
"name": "WinUI Resources File (Item)",
"shortName": "winui-resw",
"shortName": ["winui-resw", "winui3-resw"],
"sourceName": "Resources",
"defaultName": "Resources",
"description": "Adds a RESW resources file for localized strings.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.TemplatedControl",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.TemplatedControl",
"name": "WinUI Templated Control (Item)",
"shortName": "winui-templatedcontrol",
"shortName": ["winui-templatedcontrol", "winui3-templatedcontrol"],
"sourceName": "CustomControl",
"defaultName": "CustomControl",
"description": "Adds a WinUI 3 templated control with a code-behind skeleton.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"identity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.UserControl.Legacy",
"groupIdentity": "Microsoft.WindowsAppSDK.WinUI.CSharp.Item.UserControl.Legacy",
"name": "WinUI User Control (Item)",
"shortName": "winui-usercontrol",
"shortName": ["winui-usercontrol", "winui3-usercontrol"],
"sourceName": "UserControl",
"defaultName": "UserControl",
"description": "Adds a WinUI 3 UserControl with markup and code-behind.",
Expand Down
Loading