{"id":240947,"date":"2023-02-13T08:00:55","date_gmt":"2023-02-13T16:00:55","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=240947"},"modified":"2023-02-12T10:49:04","modified_gmt":"2023-02-12T18:49:04","slug":"visual-studio-ai-assistance-a-developers-best-friend","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-ai-assistance-a-developers-best-friend\/","title":{"rendered":"Visual Studio AI-Assistance: A Developer&#8217;s Best Friend"},"content":{"rendered":"<p><span data-contrast=\"none\">The Visual Studio family leverages AI to help you stay focused on the creative tasks that get the core logic of your application built. <\/span><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span class=\"ui-provider wd b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\">For Visual Studio and VS Code, IntelliCode is free and assists with writing, editing and understanding code in popular languages. With IntelliCode, models run locally, meaning that none of your code leaves your machine. This blogpost will focus on IntelliCode.<\/span><\/p>\n<p><span class=\"ui-provider wd b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\">For users desiring even more AI capabilities, <a href=\"https:\/\/github.com\/features\/copilot\">Copilot and Copilot for Business<\/a> are also supported by Visual Studio and VS Code. Copilot\u2019s models are cloud based.\u00a0<\/span><\/p>\n<p aria-level=\"2\"><strong>Tips, tricks, and engineering story behind IntelliCode.\u00a0<\/strong><\/p>\n<p><span class=\"TextRun SCXW258798217 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW258798217 BCX8\">Whether <\/span><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW258798217 BCX8\">you\u2019re<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\"> a newer developer or experienced, <\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">consider this blogpost <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW258798217 BCX8\">your<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\"> jumping<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\"> off p<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">oint to get the m<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">ost f<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">rom IntelliCode. T<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">he team is excited to share <\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">tips<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">, <\/span><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW258798217 BCX8\">tricks<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\"> and<\/span> <span class=\"NormalTextRun SCXW258798217 BCX8\">engineering stor<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">ies that <\/span><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW258798217 BCX8\">we\u2019ll<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\"> link to below \u2013 content to come soon!<\/span><span class=\"NormalTextRun SCXW258798217 BCX8\">\u00a0<\/span><\/span><span class=\"EOP SCXW258798217 BCX8\" data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<div>\n<p><strong>Writing code\u00a0<\/strong><\/p>\n<ul>\n<li><span data-contrast=\"none\"><em>IntelliSense list:<\/em> I<span class=\"TextRun SCXW131384333 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW131384333 BCX8\">nstead of exploring an unsorted list of <\/span><span class=\"NormalTextRun SCXW131384333 BCX8\">methods and members, IntelliCode <\/span><span class=\"NormalTextRun SCXW131384333 BCX8\">uses AI to <\/span><span class=\"NormalTextRun SCXW131384333 BCX8\">place<\/span> <span class=\"NormalTextRun SCXW131384333 BCX8\">what we believe is most relevant to your code context at the top and <\/span><span class=\"NormalTextRun SCXW131384333 BCX8\">places a <\/span><\/span><span class=\"TextRun SCXW131384333 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW131384333 BCX8\">\u2b50 <\/span><span class=\"NormalTextRun SCXW131384333 BCX8\">symbol <\/span><span class=\"NormalTextRun SCXW131384333 BCX8\">next to <\/span><span class=\"NormalTextRun SCXW131384333 BCX8\">item.<\/span><\/span><\/span><\/li>\n<li><span data-contrast=\"none\"><em>Gray text:<\/em> <span class=\"NormalTextRun SCXW21058158 BCX8\">To <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">help <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">increase productivity and reduce errors, <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">IntelliCode can <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">suggest<\/span> <span class=\"NormalTextRun SCXW21058158 BCX8\">up to a <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/type-less-code-more-with-intellicode-completions\/\">whole line of <\/a><\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">code<\/span> <span class=\"NormalTextRun SCXW21058158 BCX8\">in <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">grey text<\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">. <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">Your code context and code style <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">are <\/span><span class=\"NormalTextRun SCXW21058158 BCX8\">used to help generate these suggestions.<\/span><\/span><\/li>\n<\/ul>\n<p><strong>Editing code<\/strong><\/p>\n<ul>\n<li><span data-contrast=\"none\"><em>Repeated edits: <\/em><span class=\"NormalTextRun SCXW64737256 BCX8\">Making <\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">several <\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">similar but slightly different edits? IntelliCode can detect <\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">the <\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">pattern<\/span> <span class=\"NormalTextRun SCXW64737256 BCX8\">and <\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">apply the change <\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">to<\/span><span class=\"NormalTextRun SCXW64737256 BCX8\"> other locations \u2013 saving <\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">y<\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">ou<\/span><span class=\"NormalTextRun SCXW64737256 BCX8\"> keystrokes and navigation<\/span><span class=\"NormalTextRun SCXW64737256 BCX8\">.\u00a0<\/span><\/span><\/li>\n<li><span data-contrast=\"none\"><em>Intent Detection: <\/em><span class=\"NormalTextRun SCXW44527334 BCX8\">IntelliCode has learned <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">to <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">assi<\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">st<\/span><span class=\"NormalTextRun SCXW44527334 BCX8\"> w<\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">ith <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">common <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW44527334 BCX8\">edit<\/span><span class=\"NormalTextRun SCXW44527334 BCX8\"> patterns such as <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/just-in-time-refactoring-intellicode-suggestions\/\">creating a constructor <\/a><\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">after <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">creating<\/span><span class=\"NormalTextRun SCXW44527334 BCX8\"> paramete<\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">rs, or <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">even with <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">editing code <\/span><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW44527334 BCX8\">that<\/span><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW44527334 BCX8\">\u2019s<\/span> <span class=\"NormalTextRun SCXW44527334 BCX8\">just <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">been <\/span><span class=\"NormalTextRun SCXW44527334 BCX8\">pasted.<\/span><\/span><\/li>\n<\/ul>\n<p><strong>Navigating code<\/strong><\/p>\n<ul>\n<li><span data-contrast=\"none\"><em>API Usage Example:<\/em> <span class=\"NormalTextRun SCXW45908702 BCX8\">Making <\/span><span class=\"NormalTextRun SCXW45908702 BCX8\">a round trip to the browser and fiddling with search <\/span><span class=\"NormalTextRun SCXW45908702 BCX8\">to figure out how to use an API is a common workflow. This feature can save you from that <\/span><span class=\"NormalTextRun SCXW45908702 BCX8\">by<\/span> <span class=\"NormalTextRun SCXW45908702 BCX8\">present<\/span><span class=\"NormalTextRun SCXW45908702 BCX8\">ing<\/span><span class=\"NormalTextRun SCXW45908702 BCX8\"> examples of how an API is commonly used.<\/span><\/span><\/li>\n<\/ul>\n<p><strong>Navigating Packages<\/strong><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li><span data-contrast=\"none\"><em>Most Common NuGet Packages:<\/em> This <span class=\"TextRun SCXW28835068 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW28835068 BCX8\">feature helps you find and use the most used NuGet packages, streamlining the process of finding and adding packages to your projects.<\/span><\/span><\/span><\/li>\n<\/ul>\n<p><strong>Reviewing code<\/strong><\/p>\n<ul>\n<li><span class=\"TextRun SCXW204286447 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW204286447 BCX8\">The Visual Studio family is excited <\/span><span class=\"NormalTextRun SCXW204286447 BCX8\">to explore AI-<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\">assistance<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\"> for <\/span><span class=\"NormalTextRun SCXW204286447 BCX8\">workflow<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\">s<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\"> that start<\/span> <span class=\"NormalTextRun SCXW204286447 BCX8\">with preparing a <\/span><span class=\"NormalTextRun SCXW204286447 BCX8\">pull request<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\"> and end<\/span> <span class=\"NormalTextRun SCXW204286447 BCX8\">with<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\"> a successful <\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW204286447 BCX8\">merge<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\">.<\/span><span class=\"NormalTextRun SCXW204286447 BCX8\">\u00a0<\/span><\/span><span class=\"EOP SCXW204286447 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">The IntelliCode team is not only excited to help improve your productivity, but also to learn about your scenarios that could be improved with AI.<\/span><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The Visual Studio family leverages AI to help you stay focused on the creative tasks that get the core logic of your application built. \u00a0 For Visual Studio and VS Code, IntelliCode is free and assists with writing, editing and understanding code in popular languages. With IntelliCode, models run locally, meaning that none of your [&hellip;]<\/p>\n","protected":false},"author":11554,"featured_media":241413,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[1055,5,510,6883,467,526],"class_list":["post-240947","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-ai","tag-csharp","tag-cpp","tag-copilot","tag-intellicode","tag-productivity"],"acf":[],"blog_post_summary":"<p>The Visual Studio family leverages AI to help you stay focused on the creative tasks that get the core logic of your application built. \u00a0 For Visual Studio and VS Code, IntelliCode is free and assists with writing, editing and understanding code in popular languages. With IntelliCode, models run locally, meaning that none of your [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/240947","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/11554"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=240947"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/240947\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/241413"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=240947"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=240947"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=240947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}