Please add VB support!
We really need a tool that can help us create VB and UWP projects easier.
@Nukepayload2 thanks for the suggestion. Unfortunately, because this would mean doubling the effort around building and testing templates this is unlikely to happen unless A LOT of people ask for it or someone volunteers to do it.
Will leave this open to group/track other people wanting this too.
@Nukepayload2 would this be something you may want to help lead?
@crutkas I'll try to port C# templates to VB when I'm free.
Come and support this,,,
@Afanyiyu is this something you would like to help contribute back?
One idea, can this and C++ be transcoded to have the support added in from our c# templates?
@crutkas, in theory, we could compile the app to IL and then decompile to VB.Net or C++ but that wouldn't help with the structure we have for templates and placeholders or post action files. Might be a good starting point though.
Yes! VB support would be great.
this more a VB tool than C#
@hannespreishuber can you expand on that?
There is now an experimental branch with VB support at https://github.com/Microsoft/WindowsTemplateStudio/tree/VisualBasic
Please note this is not a guarantee that VB support is coming soon, more an exploration of what is involved in making it happen.
As such, this branch only supports a blank project, template, code behind, and a blank page. (The absolute minimum to generate a project.)
Important points of note from this experiment.
Before this can go live:
ProjectCS and ProjectVB, Project.SplitViewCS and Project.SplitViewVB, etc. Any objections?
On folder naming structure, moving forward with VB related folders ending with "VB" and no suffix for CS folders to ease backward compatibility.
i'm fine with that but how much code reuse is possible on the xaml?
reuse ALL the XAML
well that's what I'm aiming for and see no reason why it shouldn't be possible
We are reusing or referencing? Based on that file path feels copying code vs linking. No matter what we need to adjust the structure for xaml / shared files, no?
I am thinking also icons, do we need to rethink docs, readme, the descriptions?
Because of the way template files (& folders) are copied and filtered it's not possible to have the VB folders point to files in the CS folders so I wrote a script that will update the ones in VB folders from the CS ones. It's XAML only while I test its effectiveness but know I need to add other file types there too. (*.png, *.md, *.resw)
Sync script now updated: https://github.com/Microsoft/WindowsTemplateStudio/blob/VisualBasic/SynchronizeFilesUsedByVisualBasicTemplates.ps1
I chose to go this route (copying files rather than redesigning the whole way templates are structured) because:
_As a general rule, when I'm trying to make the code do something that wasn't considered in the original code design (e.g. multiple languages, or tests that use extra templates to add testing functionality) I'm trying to modify what exists as little as possible, rather than rebuild everything in the way that is best/simplest for what we want now. If we reach a period of stability then such redesign work can be done but to do it now will slow development down considerably and might still leave issues when we need more functionality in the future. (i.e. multiple big restructurings might be needed, with all the risks they contain.)_
Notes on VB development now in the wiki: https://github.com/Microsoft/WindowsTemplateStudio/wiki/Visual-Basic
Progress update on VB support.
The core work to enable generating projects in VB has now been done as part of PR #864
The work to add all the necessary templates is being tracked via issue #863 and there is additional information on the VB page of the wiki.
The intention (hope) is that this will be included in the v1.4 release.
adjusted milestone to help set expectations
I'm translating existing features and pages at https://github.com/Nukepayload2/WindowsTemplateStudio .
Copy codes or merge changes if they are appropriate.
@Nukepayload2 Thanks. There's some useful stuff there for the code conversions but there are issues with template config and lots of failing tests.
Feel free to raise PRs against https://github.com/Microsoft/WindowsTemplateStudio/tree/Issue863-VBTemplates
Can we close this issue in favor of #863?
No. They are different items. This is the master item.
This is the master item for tracking the work necessary to add VB support.
To see all related items that need to be done see here.
VB.Net support is now available in the nightly builds.
If you use VB.Net your assistance in verifying what they produce will be greatly appreciated.
Instructions on installing the nightly build version of the templates can be found here.
Please raise issues for anything you find that is wrong, broken, or could be improved and tag them VB.
I think we're almost there. There is still more automated testing to add and I'll continue to port new C# pages/features and improvements but VB support is ready for your feedback.
You can see the tool in action if you have the dev-nightly build installed (https://github.com/Microsoft/WindowsTemplateStudio/blob/dev/docs/getting-started-extension.md#nightly--pre-release-feeds-for-windows-template-studio) or run from source on the dev branch.
Alternatively, you can look at examples of generated projects at https://github.com/mrlacey/wts-vb-demos
There are nine projects, one for each combination of supported framework (code-behind, MVVM Basic, & MVVMLight) and project structure (blank, pivot & tabs, & Navigation Menu). Each project also includes an instance of all pages and feature options that are available.
@Nukepayload2 @Afanyiyu @graymatter00 @hannespreishuber & anyone else, I'd love if you could take a look and let us know what you think. Any and all feedback appreciated, no matter how big or small.
AWESOME!!!!
THANKYOU! Can't wait to test with VB!
@aarondglover you can test right now! Follow @mrlacey instructions to install the dev nightly!
Changing tags as I think it's now all there.
continuing with final verification testing prior to release at the end of the month.
I'm continuing to test this functionality (both manually and with new automated tests) but I think it's good to go.