{"id":224638,"date":"2019-03-14T10:00:13","date_gmt":"2019-03-14T18:00:13","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=224638"},"modified":"2019-03-17T16:20:26","modified_gmt":"2019-03-17T23:20:26","slug":"code-more-scroll-less-with-visual-studio-intellicode","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/code-more-scroll-less-with-visual-studio-intellicode\/","title":{"rendered":"Code more, scroll less with Visual Studio IntelliCode"},"content":{"rendered":"<p>You may know that Visual Studio <a href=\"https:\/\/aka.ms\/intellicode\">IntelliCode<\/a> helps you write code from commonly used libraries, based on machine learning across thousands of open sourced GitHub repos. Instead of having to search and scroll through a sorted list of methods and properties, you get suggestions on the most likely ones for your coding context as you type.<\/p>\n<p>While the wisdom of the open source community is delivered direct to your editor\u2019s IntelliSense, what if you want to write code based on a set of APIs not included in the GitHub public repos? Perhaps you use numerous internal utility and base class libraries, or domain-specific libraries that aren\u2019t often used in open-source. \u00a0You may not know that if you code in C# you can have IntelliCode analyze to <strong>your own code<\/strong> and share what it learns it across your team, so you can all benefit from recommendations and more easily collaborate. Depending on your codebase, analyzing your code and sharing the resulting model could be done in a matter of minutes and save your team hours of hunting through lists and documentation diving.<\/p>\n<h3>How do I create and use my own model?<\/h3>\n<p>It\u2019s as easy as 3 short steps.<\/p>\n<ol>\n<li>Make sure you have the <a href=\"https:\/\/aka.ms\/vsic\/xtn\/vs\">IntelliCode extension for Visual Studio<\/a> installed<\/li>\n<li>Effortlessly <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/intellicode\/custom-model-faq#q--how-do-i-train-a-model\">create a custom model<\/a> for a codebase that contains good examples of usage of your desired class libraries \u2013 remember that the quality of suggestions offered by IntelliCode is directly related to the quality of the samples you provide.<\/li>\n<li>Easily <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/intellicode\/sharing-custom-models-tips#you-have-a-codebase-thats-a-good-example-of-usage-for-you-and-your-collaborators-next-project\">share it with your colleagues<\/a> so they can start using the recommendations. If you need to update the model, for instance if there are substantial changes to the code, your team will automatically receive the latest updates when you retrain.<\/li>\n<\/ol>\n<p><img decoding=\"async\" class=\"alignnone wp-image-224639 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2019\/03\/Intellicode-custom-models-smaller.gif\" alt=\"Creating an IntelliCode Custom Model\" width=\"800\" height=\"547\" \/><\/p>\n<p>My colleague Allison Buchholtz-Au has a great <a href=\"https:\/\/channel9.msdn.com\/Events\/Connect\/Microsoft-Connect--2018\/D160\">video<\/a> covering this topic if you&#8217;d like to see more details.<\/p>\n<p>If you\u2019re a contributing author of an open source component, it\u2019s simple for you to <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/intellicode\/sharing-custom-models-tips#you-have-an-open-source-package-and-want-to-share-out-a-model-that-helps-users-incorporate-the-package-into-their-code\">share a model<\/a> that helps your users leverage your libraries more easily. Don\u2019t forget to share the model somewhere that users who are getting started will find it. We suggest linking to it from the README in your repo.<\/p>\n<h3>What about security?<\/h3>\n<p>Most importantly, we don\u2019t upload your raw source code to our servers. You can learn more about what happens when you train a model in our <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/intellicode\/custom-model-faq#q--what-happens-when-my-model-is-trained-and-what-data-is-sent-to-microsoft\">FAQ<\/a>.<\/p>\n<h3>Your feedback matters<\/h3>\n<p>If you have more suggestions and feedback about IntelliCode, we\u2019d love to hear from you. <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/intellicode\/faq#q-where-should-i-raise-bugs-issues-or-feature-requests\">Get in touch<\/a> and let us know more.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to get Visual Studio IntelliCode to make recommendations based on patterns it finds in your own code in 3 simple steps.<\/p>\n","protected":false},"author":587,"featured_media":224656,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[467,336,1054,526],"class_list":["post-224638","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio","tag-intellicode","tag-intellisense","tag-ml","tag-productivity"],"acf":[],"blog_post_summary":"<p>Learn how to get Visual Studio IntelliCode to make recommendations based on patterns it finds in your own code in 3 simple steps.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/224638","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\/587"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=224638"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/224638\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/224656"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=224638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=224638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=224638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}