Closed mrlacey closed 7 years ago
Hi @mrlacey @ralarcon @crutkas Reviewing VB templates I've seen that we can use the same XAML code instead of duplicate those files. These files are the same file. .\templates\Pages\Blank\Views\BlankViewPage.xaml .\templates\Pages\BlankVB\Views\BlankViewPage.xaml
It makes sense to add the same XAML code on a different composition template? Will this code be always different on most of the pages? Have we planned how are going to grow on CSharp, VB, XAML y Xamarin?
I chose this approach for several reasons:
So, in conclusion, Yes, we could split out all the XAML files into another set of templates that get composed but it would be a lot of work to write and test this change for the sake of getting rid of one PowerShell script when there are a lot of other more important things we could be focusing that time and effort on.
For all of this, the VB work is coming as a "community contribution" so there's a disclaimer that comes with it ever being behind the C# version. VB support isn't official and blessed by Microsoft and not something I'm expecting them to work on. If this were to change it would require a lot more investment from them as it would slow the pace of the project. If others from the community come forward to help support the VB work, or we get contributions of VB versions of templates first, or Microsoft's priorities change; then we can revisit this.
For further reference, there were also comments on this subject here
Hi, Matt. I agree with you, composition templates for XAML code would be a nightmare, I just was trying to open the conversation... I was thinking in the following:
The same template includes CS and VB Code, both languages share XAML code included in the same folder... to enable this we will need to include some metadata in the template.json file to enable select the appropriated files once generated... sure this will deserve a PoC and considering it is not a priority, we can leave this open for the near future...
Another problem with having a XAML file only appear once in the template folder structure is it adds more complexity to the process for filtering templates. At the moment it works by copying whole folders. If we start sharing files the copying logic gets more complicated. It's not just a case of copying a directory if it is for the required language, it would then be a case of also copying other files which go with that template. Yes, all unnecessary complexity we don't need for now. Part of my reason for doing the work to support VB now was to find issues that make things more complicated or required code changes to make possible. It would have been better if we could have caught these issues earlier but hopefully doing it now will avoid other issues down the line.
Moving milestone back as won't happen for 1.4 - just trying to set expectations.
What are "installer icons with language adorners"? Glad you asked
Where do said icons live?
@crutkas copies of adorners at https://github.com/Microsoft/WindowsTemplateStudio/tree/Issue863-VBTemplates/design/Assets/Logo/icon-adorners Original icon file at https://github.com/Microsoft/WindowsTemplateStudio/blob/Issue863-VBTemplates/design/Assets/Logo/windowsTemplateStudio_Logo_256x256.ico Language specific icons are: https://github.com/Microsoft/WindowsTemplateStudio/blob/Issue863-VBTemplates/code/src/ProjectTemplates/CSharp.UWP.2017.Solution/windowsTemplateStudio_Logo_256x256.ico and https://github.com/Microsoft/WindowsTemplateStudio/blob/Issue863-VBTemplates/code/src/ProjectTemplates/VBNet.UWP.VS2017.Solution/windowsTemplateStudio_Logo_256x256.ico
I want to port the URI Scheme feature. Please leave it to me.
I want to port the URI Scheme feature. Please leave it to me.
@Nukepayload2 As probably the most complicated feature (in terms of the number of composition templates) and requiring the most manual testing I wasn't looking forward to that. Go ahead.
Why ".csproj" is hard coded in BaseGenAndBuildFixture.BuildAppxBundle(String, String)
?
It causes RunWackOnProjectWithAllPagesAndFeaturesAsync(String, String, String)
always fail when testing VB templates.
Why ".csproj" is hard coded ?
Because everything only initially supported C# and so this wasn't an issue. Part of the work to support VB templates is adapting all the testing and generation logic to also support more than just C#.
The current plan is to close this and merge all the VB templates that have been created so far so that we can start gathering feedback on them from the dev nightly builds.
Creating new issues to follow on from the above items that weren't completed.
There is a known issue with the MasterDetail visual output where symbols are not displayed properly. This was not fixed so it can be used as a reference when adding tests to confirm identical visual output of identical projects created with the different languages.
If any other problems are discovered these should be raised as issues.
Closing this as these templates are now available in the dev-nightly build. Separate issues have been created for each of the above-noted items that were not completed as part of the PR for this issue. (These only relate to docs or were otherwise blocked.)
Any feedback on these templates will be greatly appreciated. Try them out yourself by installing the dev-nightly version of the templates.
As a continuation of #371 and X-Ref https://github.com/Microsoft/WindowsTemplateStudio/wiki/Visual-Basic
Port existing C# templates to VB.
Pages
Features
Need strategy and automation for the handling of future changes to C# templates and localization.
Needed (PowerShell?) scripts
Needed automated tests
Some of these may need to be purely manual so that C# code can evolve ahead of VB...TBD
Need to update documentation for VB support.
Update