{"action":"created","comment":{"url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/comments/132539551","pull_request_review_id":55632432,"id":132539551,"diff_hunk":"@@ -0,0 +1,21 @@\n+﻿// Licensed to the .NET Foundation under one or more agreements.\n+// The .NET Foundation licenses this file to you under the MIT license.\n+// See the LICENSE file in the project root for more information.\n+\n+using System.Collections.Generic;\n+\n+namespace Microsoft.Templates.Core\n+{\n+    public static class Language","path":"code/src/Core/Language.cs","position":9,"original_position":9,"commit_id":"a4aa53ee30e24c7173ca5476c94e27d09d2c7332","original_commit_id":"a4aa53ee30e24c7173ca5476c94e27d09d2c7332","user":{"login":"mrlacey","id":189547,"avatar_url":"https://avatars3.githubusercontent.com/u/189547?v=4","gravatar_id":"","url":"https://api.github.com/users/mrlacey","html_url":"https://github.com/mrlacey","followers_url":"https://api.github.com/users/mrlacey/followers","following_url":"https://api.github.com/users/mrlacey/following{/other_user}","gists_url":"https://api.github.com/users/mrlacey/gists{/gist_id}","starred_url":"https://api.github.com/users/mrlacey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrlacey/subscriptions","organizations_url":"https://api.github.com/users/mrlacey/orgs","repos_url":"https://api.github.com/users/mrlacey/repos","events_url":"https://api.github.com/users/mrlacey/events{/privacy}","received_events_url":"https://api.github.com/users/mrlacey/received_events","type":"User","site_admin":false},"body":"Will change","created_at":"2017-08-10T18:58:51Z","updated_at":"2017-08-10T18:58:51Z","html_url":"https://github.com/Microsoft/WindowsTemplateStudio/pull/864#discussion_r132539551","pull_request_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864","_links":{"self":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/comments/132539551"},"html":{"href":"https://github.com/Microsoft/WindowsTemplateStudio/pull/864#discussion_r132539551"},"pull_request":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864"}}},"pull_request":{"url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864","id":131794191,"html_url":"https://github.com/Microsoft/WindowsTemplateStudio/pull/864","diff_url":"https://github.com/Microsoft/WindowsTemplateStudio/pull/864.diff","patch_url":"https://github.com/Microsoft/WindowsTemplateStudio/pull/864.patch","issue_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/864","number":864,"state":"open","locked":false,"title":"Visual basic","user":{"login":"mrlacey","id":189547,"avatar_url":"https://avatars3.githubusercontent.com/u/189547?v=4","gravatar_id":"","url":"https://api.github.com/users/mrlacey","html_url":"https://github.com/mrlacey","followers_url":"https://api.github.com/users/mrlacey/followers","following_url":"https://api.github.com/users/mrlacey/following{/other_user}","gists_url":"https://api.github.com/users/mrlacey/gists{/gist_id}","starred_url":"https://api.github.com/users/mrlacey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrlacey/subscriptions","organizations_url":"https://api.github.com/users/mrlacey/orgs","repos_url":"https://api.github.com/users/mrlacey/repos","events_url":"https://api.github.com/users/mrlacey/events{/privacy}","received_events_url":"https://api.github.com/users/mrlacey/received_events","type":"User","site_admin":false},"body":"**Summary of changes**\r\nThis adds support for the wizard and core engine to be able to handle templates in both C# & VB.\r\nThis includes a single page template and 2 feature templates. This is enough to test all parts of the installation experience. This PR is not intended to be enough for real world use of the templates, just enough to show it all works.\r\nDue to the extensive nature of changes needed to get this all to work, merging other changes into this can be problematic. Hopefully, getting this code merged into the main dev branch will make things more stable and faster while the VB templates are created.\r\n\r\nThe primary purpose of this PR is to gain feedback. Got any?\r\n\r\nKey points of interest:\r\n\r\n- There were lots of places where the existing code assumed the template language will always be C#. These have _all_ now changed. Do not write code that assumes a specific language. There are helper methods to find this out if you need it. There is also support for \"*.vb\" and \"*.vbproj\" files where ever processing needs to know about individual file types.\r\n- This includes the VSIX template for VB support but deliberately does not include it in the installer. (We don't want to expose this until the templates are ready for use.)\r\n- If you want to try VB support with the VSIX, add a reference to `VBNet.UWP.VS2017.Solution` from `Installer.2017` then add the template to the vsixmanifest.\r\n- VSEmulator does support both creating projects with C# and VB\r\n- Right-Click>Add works for both languages.\r\n- Many of the generation tests now take a language parameter to run for both C# & VB. Because there are only limited VB templates at the moment, these have been changed to just run for C# projects. If you want to enable this just uncomment the appropriate line from `Microsoft.Templates.Core.Language.GetAllLanguages()`\r\n- The VB templates will use copies of XAML files from their C# equivalents. There is an issue for doing this directly with localized files as they will require some modifications, as noted in #832\r\n- The way fixtures are created and test setup is done has had to change to allow for support of both languages. Because the last test may have been run for a different language the templates have to be reinitialized for the language of the current test. This does add some overhead but #497 can, hopefully, improve this.\r\n- There is a \"known\" bug in the Suspend&Resume template. (Will be fixed in #863 if not before) : Fixed Aug7\r\n\r\n-Which issue does this PR relate to?\r\n#371 \r\n\r\n-Anything that requires particular review or attention?\r\nsee above\r\n\r\n-Do all automated tests pass?\r\nYes\r\n\r\n-Have automated tests been added for new features?\r\nYes (lots) and many existing tests updated to run for both C# and VB versions of templates.\r\n\r\n-If you've changed the UI are you including screenshots to show the changes\r\nNo UI changes\r\n\r\n-Have you raised issues for any needed follow-on work?\r\n#863 has been raised for implementing the templates in VB. The expectation/intention is that C# will remain the primary language for creating templates. Additions or modifications will then be copied/ported to VB. All work on the wizard and creating templates will continue exclusively in C#.\r\n\r\n-Have docs been updated?\r\nNot yet. Lots needed. Will be done with #863\r\n\r\n-If breaking changes or different ways of doing things have been introduced, have they been communicated widely.\r\nThat's what this is for. (Aiming to show the differences, not just talk about them.)\r\n","created_at":"2017-07-21T15:01:05Z","updated_at":"2017-08-10T18:58:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f97552d9a2a62ad44319b4fc6acbb6a9a42f3089","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864/commits","review_comments_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864/comments","review_comment_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/864/comments","statuses_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/statuses/a4aa53ee30e24c7173ca5476c94e27d09d2c7332","head":{"label":"Microsoft:VisualBasic","ref":"VisualBasic","sha":"a4aa53ee30e24c7173ca5476c94e27d09d2c7332","user":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":77063606,"name":"WindowsTemplateStudio","full_name":"Microsoft/WindowsTemplateStudio","owner":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/WindowsTemplateStudio","description":"Windows Template Studio quickly builds a UWP app, using a wizard-based UI to turn your needs into a foundation of Windows 10 patterns and best practices.","fork":false,"url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio","forks_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/forks","keys_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/teams","hooks_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/events","assignees_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/tags","blobs_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/languages","stargazers_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/subscription","commits_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/merges","archive_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/downloads","issues_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/deployments","created_at":"2016-12-21T15:31:29Z","updated_at":"2017-08-10T05:17:36Z","pushed_at":"2017-08-10T18:39:03Z","git_url":"git://github.com/Microsoft/WindowsTemplateStudio.git","ssh_url":"git@github.com:Microsoft/WindowsTemplateStudio.git","clone_url":"https://github.com/Microsoft/WindowsTemplateStudio.git","svn_url":"https://github.com/Microsoft/WindowsTemplateStudio","homepage":"https://aka.ms/wtsinstall","size":15570,"stargazers_count":633,"watchers_count":633,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":78,"mirror_url":null,"open_issues_count":180,"forks":78,"open_issues":180,"watchers":633,"default_branch":"master"}},"base":{"label":"Microsoft:dev","ref":"dev","sha":"3a98e348bcdedd8fa0f100644f83ccfd844bb0f7","user":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"repo":{"id":77063606,"name":"WindowsTemplateStudio","full_name":"Microsoft/WindowsTemplateStudio","owner":{"login":"Microsoft","id":6154722,"avatar_url":"https://avatars2.githubusercontent.com/u/6154722?v=4","gravatar_id":"","url":"https://api.github.com/users/Microsoft","html_url":"https://github.com/Microsoft","followers_url":"https://api.github.com/users/Microsoft/followers","following_url":"https://api.github.com/users/Microsoft/following{/other_user}","gists_url":"https://api.github.com/users/Microsoft/gists{/gist_id}","starred_url":"https://api.github.com/users/Microsoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Microsoft/subscriptions","organizations_url":"https://api.github.com/users/Microsoft/orgs","repos_url":"https://api.github.com/users/Microsoft/repos","events_url":"https://api.github.com/users/Microsoft/events{/privacy}","received_events_url":"https://api.github.com/users/Microsoft/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Microsoft/WindowsTemplateStudio","description":"Windows Template Studio quickly builds a UWP app, using a wizard-based UI to turn your needs into a foundation of Windows 10 patterns and best practices.","fork":false,"url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio","forks_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/forks","keys_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/teams","hooks_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/hooks","issue_events_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/events{/number}","events_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/events","assignees_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/assignees{/user}","branches_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/branches{/branch}","tags_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/tags","blobs_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/refs{/sha}","trees_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/statuses/{sha}","languages_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/languages","stargazers_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/stargazers","contributors_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/contributors","subscribers_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/subscribers","subscription_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/subscription","commits_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/commits{/sha}","git_commits_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/git/commits{/sha}","comments_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/comments{/number}","issue_comment_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/comments{/number}","contents_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/contents/{+path}","compare_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/merges","archive_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/downloads","issues_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues{/number}","pulls_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls{/number}","milestones_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/milestones{/number}","notifications_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/labels{/name}","releases_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/releases{/id}","deployments_url":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/deployments","created_at":"2016-12-21T15:31:29Z","updated_at":"2017-08-10T05:17:36Z","pushed_at":"2017-08-10T18:39:03Z","git_url":"git://github.com/Microsoft/WindowsTemplateStudio.git","ssh_url":"git@github.com:Microsoft/WindowsTemplateStudio.git","clone_url":"https://github.com/Microsoft/WindowsTemplateStudio.git","svn_url":"https://github.com/Microsoft/WindowsTemplateStudio","homepage":"https://aka.ms/wtsinstall","size":15570,"stargazers_count":633,"watchers_count":633,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":78,"mirror_url":null,"open_issues_count":180,"forks":78,"open_issues":180,"watchers":633,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864"},"html":{"href":"https://github.com/Microsoft/WindowsTemplateStudio/pull/864"},"issue":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/864"},"comments":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/issues/864/comments"},"review_comments":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864/comments"},"review_comment":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/pulls/864/commits"},"statuses":{"href":"https://api.github.com/repos/Microsoft/WindowsTemplateStudio/statuses/a4aa53ee30e24c7173ca5476c94e27d09d2c7332"}}}}
{"actor":{"display_login":"mrlacey"}}