Template Studio accelerates the creation of new WinUI 3, WPF, and UWP apps using a wizard-based experience.
Перейти к файлу
Mike Battista 29c6295795 Renamed design/Assets/Logo/*. 2022-04-07 13:52:05 -07:00
.github Fixed checkmarks in PR template. 2022-04-05 23:19:29 -07:00
_build Temporarily disable UWP tests until they are factored to run reliably within the job timeout limit of 6 hours. 2022-04-06 14:42:23 -07:00
_utils Use #Requires for #4423. 2022-04-03 12:29:19 -07:00
code Merge pull request #4443 from microsoft/mikebattista/#4440 2022-04-06 15:19:43 -07:00
design/Assets Renamed design/Assets/Logo/*. 2022-04-07 13:52:05 -07:00
docs Merge branch 'mikebattista/prtemplate' 2022-04-05 14:48:21 -07:00
samples Removed WTS from all TODO comments. 2022-04-05 00:41:40 -07:00
specs Update Identity in Wizard Sceps images 2019-09-19 15:04:42 +02:00
.editorconfig Address build warnings and some compiler suggestions 2022-03-22 22:12:34 +00:00
.gitattributes Update .gitattributes 2019-07-18 12:50:38 +02:00
.gitignore update git ignore 2020-12-01 09:49:18 +01:00
.gitmodules Get shared code compiling 2022-03-02 22:02:01 +00:00
CHANGELOG.md Replaced all occurrences of "Windows Template Studio" with "Template Studio". 2022-04-05 00:53:23 -07:00
CONTRIBUTING.md Replaced all occurrences of "Windows Template Studio" with "Template Studio". 2022-04-05 00:53:23 -07:00
LICENSE.md Replaced all occurrences of "Windows Template Studio" with "Template Studio". 2022-04-05 00:53:23 -07:00
README.md Updated the Build Status section for the new pipelines. (#4445) 2022-04-07 12:36:15 +01:00

README.md

Template Studio

Template Studio (aka TS) is a Visual Studio 2019 Extension that accelerates the creation of new Universal Windows Platform (UWP), Windows Presentation Foundation (WPF .NET Core 3.1) and WinUI 3 in Desktop apps using a wizard-based experience. The resulting project is well-formed, readable code that incorporates great development features while implementing proven patterns and best practices. Sprinkled throughout the generated code we have links to documentation to provide useful insights. TS supports creating UWP apps in C# or VB.Net, WPF (.NET Core 3.1) apps in C# and WinUI 3 in Desktop apps in C# or C++.

Template Studio UWP screenshot

Template Studio WPF screenshot

Template Studio WinUI 3 screenshot

Build Status

Branch CI Nightly
main Build Status Build Status
  • CI: Runs for all PRs and integrations and performs basic validation. Executes all tests in the Minimum* Groups.
  • Nightly: Runs on a nightly schedule and generates and builds all combinations of project templates in addition to performing more exhaustive tests than CI. Executes all tests in the Build* Groups.

Features

Template Studio approaches app creation using the following six attribute sets:

Project type

First, how do you want your app's UI navigation to behave?

App design pattern

Next, what coding pattern do you want to use in your project.

App pages

To accelerate app creation, we provide a number of app page templates you can use to add common UI pages into your new app. We currently include everything from a blank page, to common layouts (e.g., list/detail, web view), to pages that implement common patterns (e.g., app settings). Use the wizard to add as many of each page as you need, providing a name for each one, and we'll generate them for you.

Features

Specify which capabilities you want to use in your app, and we'll build out the framework for the features into your app, tagging TODO items. Here you can add features that enable your app to interact with storage, notifications, layout theming, etc.

Services

Connect to data services, setup cloud connected services for your application, and enforce rules with the XAML Styler extension.

Automated Tests

Lastly, you can include test projects for your application to run unit tests or use Selenium-like UI test automation.

After selecting the items wanted in your app, you can extend the generated code on UWP, WPF or WinUI 3.

Documentation

Known issues

  • You can't have side-by-side versions (nightly/pre-release/release) of Template Studio VSPackage into a single instance of Visual Studio.

Feedback, Requests and Roadmap

Please use GitHub issues for feedback, questions or comments.

If you have specific feature requests or would like to vote on what others are recommending, please go to the GitHub issues section as well. We would love to see what you are thinking.

Here is what we're currently thinking in our roadmap.

Contributing

Do you want to contribute? We would love to have you help out. Here are our contribution guidelines.

Principles

  1. Generated templates will be kept simple.
  2. Generated templates are a starting point, not a completed application.
  3. Generated templates must be able to compile and run once generated.
  4. Generated templates should work on all device families.
  5. Templates should have comments to aid developers. This includes links to signup pages for keys, MSDN, blogs and how-to's. All guidance provide should be validated from either the framework/SDK/librarys creator.
  6. All UWP features will be supported for two most recent RTM Windows 10 Updates. Those supported releases are Windows 10 May 2020 Update (version 2004) and Windows 10 May 2019 Update (version 1903).
  7. Templates released in production will try to adhere to the design language used in the current release of Windows 10.
  8. Code should follow .NET Core coding style.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

License

This code is distributed under the terms and conditions of the MIT license.

Privacy Statement

The extension logs basic telemetry regarding what is selected in the wizard. Our Telemetry Data page has the trends from the telemetry. Please read the Microsoft privacy statement for more information.

.NET Foundation

This project is supported by the .NET Foundation.

Projects we like and collaborate with

Frameworks and libraries in generated code not created by our team

Frameworks

Libraries