{"id":30004,"date":"2020-09-22T10:05:30","date_gmt":"2020-09-22T17:05:30","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=30004"},"modified":"2020-09-23T10:24:45","modified_gmt":"2020-09-23T17:24:45","slug":"using-github-codespaces-with-net-core","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/using-github-codespaces-with-net-core\/","title":{"rendered":"Using GitHub Codespaces with .NET Core"},"content":{"rendered":"<p>In May of this year we <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/using-visual-studio-codespaces-with-net-core\/\">announced Visual Studio Codespaces and early support for .NET Core<\/a> developers.\u00a0 Since then we\u2019ve had some early adopters try it out and they gave us great feedback.\u00a0 We\u2019ve made a bunch of progress on enabling more in the Codespaces capabilities as well.\u00a0 We\u2019ve also made some fundamental changes as we are now <strong>GitHub Codespaces<\/strong>!\u00a0 Just a few weeks back, <a href=\"https:\/\/twitter.com\/allison_au\">Allison<\/a> wrote about how <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-codespaces-is-consolidating-into-github-codespaces\/\">Visual Studio Codespaces is consolidating into GitHub Codespaces<\/a> explaining the transition to a single service and experience for Visual Studio developers and other developers connecting to the Codespaces service.<\/p>\n<p>You can read more about general Codespaces experience updates on the <a href=\"https:\/\/aka.ms\/ignite20\/vsblog\">Visual Studio blog<\/a>.\u00a0 \u00a0There are some great new changes like the <a href=\"https:\/\/docs.microsoft.com\/visualstudio\/devinit\">ability to specify some more initialization setup<\/a> information in your repo so developers can rapidly get started when connecting to your code!\u00a0 The .NET team wanted to share a few brief updates of our own specifically about some of the capabilities we\u2019ve enabled for developers connecting to Codespaces!<\/p>\n<h2>Azure Functions support<\/h2>\n<p>Initially we enabled support for writing .NET Core applications targeting class library, console, and web applications.\u00a0 We have expanded to enable running and debugging Azure Functions projects.\u00a0 We&#8217;ve also provided you with the ability to run more of your complete solution. For example, you can run a front-end ASP.NET application with a serverless backend all from a Codespace.<\/p>\n<h2>Editing, debugging, and testing<\/h2>\n<p>We know that the key to your Visual Studio experience is being productive in the editor and we\u2019ve enabled more of those great features in Codespaces environments now as well.\u00a0 A few of the additions we\u2019ve enabled when connected to a Codespace are:<\/p>\n<ul>\n<li>Project Context information in top Navigation Bar<\/li>\n<li>Partial support for diagnostics, completion, quick info, and smart indent in HTML, CSS, and Razor<\/li>\n<li>Most scenarios are now supported such as Find All References, Find in Files, Go to Declaration, Go to Implementation, etc. including support for navigating from C# to Razor<\/li>\n<li>Secondary menus of lightbulbs such as setting severity and changing code style rules from the editor are now supported<\/li>\n<li>Format document<\/li>\n<li>Doc comment support both during typing &#8216;\/\/\/&#8217; above a method\/class, and when pressing enter within a doc comment.<\/li>\n<\/ul>\n<p>Of course, part of development isn\u2019t just writing the code, but finding the bugs we create, right?\u00a0 We\u2019ve now added the following test and debug capabilities:<\/p>\n<ul>\n<li>Test Explorer functionality is more complete including test outcome filters, run failing tests, run last test run, etc.<\/li>\n<li>Basic debugger stepping is supported<\/li>\n<li>Locals, autos, watch windows with highlighting what is in search box is now supported<\/li>\n<\/ul>\n<h2>Publishing your project<\/h2>\n<p>We know that a lot of Visual Studio developers use Publish for various reasons and we\u2019ve enabled the Publish experience when in Codespaces.\u00a0 In this update, we\u2019re previewing a new capability in the Publish experience for deploying to Azure to help you get your builds more automated in a CI\/CD flow using GitHub Actions.\u00a0 When you publish now you\u2019ll see a new option to create a GitHub Actions workflow for your repo that will automatically build and deploy your app to the Azure resource you selected.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-30005\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/09\/codespace-publish-actions.png\" alt=\"Screenshot of publish wizard with new GitHub Actions option\" width=\"1206\" height=\"846\" srcset=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/09\/codespace-publish-actions.png 1206w, https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/09\/codespace-publish-actions-300x210.png 300w, https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/09\/codespace-publish-actions-1024x718.png 1024w, https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2020\/09\/codespace-publish-actions-768x539.png 768w\" sizes=\"(max-width: 1206px) 100vw, 1206px\" \/><\/p>\n<p>This workflow can easily be modified to accommodate various configurations or different triggers (like on push or pull request) that you may want to implement.\u00a0 We\u2019d love for you to try this out and give us feedback.<\/p>\n<h2>Coming in the Future<\/h2>\n<p>In the future we are continuing to enable more for .NET Core developers including:<\/p>\n<ul>\n<li>Scaffolding for ASP.NET Core projects<\/li>\n<li>Publishing directly to Azure and other hosting targets<\/li>\n<li>Managing Azure Service dependencies for .NET Core projects.<\/li>\n<li>Creating new Functions projects and Function endpoints (items)<\/li>\n<\/ul>\n<p>And of course more features will be prioritized based on your feedback.\u00a0 We encourage you to read the Codespaces documentation to learn more about what is supported and what is still in progress for your development needs.<\/p>\n<h2>How do I try out Codespaces?<\/h2>\n<p>We\u2019re glad you asked!\u00a0 For .NET Core developers we are still in a limited public beta as we build up support for more scenarios and learn various configuration needs from you all.\u00a0 But we\u2019re looking for more customers to on-board to the service and who can commit to providing some feedback for us to improve the experiences.\u00a0 To do so, please visit <a href=\"https:\/\/aka.ms\/codespaces-signup\">https:\/\/aka.ms\/codespaces-signup<\/a> to get on the list!<\/p>\n<p>Thank you for reading this far and on behalf of the team bringing you .NET Core development on Codespaces, thank you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve updated our support for developing .NET Core applications in GitHub Codespaces using Visual Studio.  Read about the added support we have for editors, testing, debugging, and Azure.  Sign up to be invited to the preview for GitHub Codespaces and Visual Studio support!<\/p>\n","protected":false},"author":1328,"featured_media":30006,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[196,197,646],"tags":[9,7177,147],"class_list":["post-30004","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet-core","category-aspnet","category-visual-studio","tag-net-core","tag-codespaces","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>We&#8217;ve updated our support for developing .NET Core applications in GitHub Codespaces using Visual Studio.  Read about the added support we have for editors, testing, debugging, and Azure.  Sign up to be invited to the preview for GitHub Codespaces and Visual Studio support!<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/30004","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/1328"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=30004"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/30004\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/30006"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=30004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=30004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=30004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}