You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+9-1
Original file line number
Diff line number
Diff line change
@@ -100,6 +100,7 @@ Composition templates are just like other templates except that they include a `
100
100
}
101
101
}
102
102
```
103
+
103
104
In the above example, you can see from the `ts.compositionFilter` tag that this template will be applied when the selected frontend framework (`$frontendframework`) is `MVVMToolkit`, the selected project type is `Blank` (`$projectType`), and the template being processed is of type `project` (`ts.type`). The matching template that satisfies these conditions is below.
104
105
105
106
```json
@@ -163,6 +164,7 @@ Merge post action files use pattern matching and special comments to identify a
163
164
<!--}--}-->
164
165
</PropertyGroup>
165
166
```
167
+
166
168
The above merge post action file would search for the `EnablePreviewMsixTooling` property and then remove `<WindowsPackageType>None</WindowsPackageType>` found after that location by surrounding the line to remove with XML comments that use the `{--{` and `}--}` syntax. This syntax indicates that the content within the comment should be removed from the original file. See https://github.com/microsoft/CoreTemplateStudio/blob/dev/docs/templates.md#post-actions for more details on merge post action syntax as well as other types of post actions that can change the output after generation has occurred.
167
169
168
170
### Modifying the Wizard
@@ -181,6 +183,12 @@ The Template Studio wizard enables developers to produce a custom project templa
181
183
182
184
Note: Composition filters within the _comp folder do not alter the wizard. They only modify the base templates based on the options selected in the wizard.
183
185
186
+
## Updating the shared code
187
+
188
+
The displayed wizard and the logic that generates an app from the selected templates is in the `SharedFunctionality.UI` and `SharedFunctionality.Core` projects. If wanting to work on these it is important to be working in the `TemplateStudio.sln` file and not a `*.slnf` file. You should also use the `DebugAll` configuration as this ensures that all projects are compiled, which is important as these shared projects are included in all the extensions. Switch to using a configuration specific to the extension you are testing when wanting to debug any changes.
189
+
190
+
It may also be useful to note that because of the limited support for working with XAML files inside a shared project used by an extension, you may get misleading compilation errors if you have any of the `.xaml` files open in the editor when compiling. Simply close the file(s) and any spurious errors will go away.
191
+
184
192
## Validating changes
185
193
186
194
F5 or start without debugging to launch the extensions in the Visual Studio Experimental Instance and validate changes. Once the Experimental Instance is loaded, create a new project and select the appropriate `Template Studio for *` template.
@@ -203,4 +211,4 @@ In addition to ensuring all extensions build successfully, the CI pipelines run
203
211
204
212
The pull request template lists additional considerations when modifying templates. Ensure all considerations are accounted for in your changes and update the pull request description accordingly.
205
213
206
-
Once all required tests pass and the changes are approved, the pull request will be merged.
214
+
Once all required tests pass and the changes are approved, the pull request will be merged.
0 commit comments