IntelliCode Package Suggestions for NuGet in Visual Studio

Christopher

Building on Visual Studio’s robust IntelliCode experience for .NET, we’re excited to introduce NuGet IntelliCode Package Suggestions in Visual Studio 16.10! IntelliCode Package Suggestions use your project’s context, such as installed packages and project type, to suggest packages to enhance your workflow!

IntelliCode AI-assistance has become an integral part of the Visual Studio development experience, using machine learning to offer developers intelligent code completion, argument completion, refactoring suggestions, and now even package suggestions! To date, IntelliCode features have saved developers countless productivity hours. They bring the wisdom of the developer community right into your IDE to help speed you through common tasks and spend more time doing what you do best – writing amazing code.

We know that finding the right package for your needs can be difficult. Precious time is lost referencing library documentation, searching the web, or scouring other projects in your solution. IntelliCode Package Suggestions help you find and install what you need without so much as a search query. In NuGet’s package manager UI, you will find suggested packages marked by the classic IntelliCode star.

Screenshot of IntelliCode Package Suggestions in Visual Studio

If you have seen package suggestions like these in versions of Visual Studio 2019 before 16.10, then you were likely a part of our A/B test. Going forward, this feature will only be available starting in Visual Studio 16.10, so you’ll need to update, if you haven’t already, to see IntelliCode Package Suggestions for NuGet.

How it works

IntelliCode Package Suggestions use a collaborative filtering algorithm to take the context of your project, including the installed packages and project framework, to then suggest packages that are frequently included in similar projects. You can think of it like Netflix recommendations for NuGet packages. The model works best in projects with more packages because it has more context to tailor your suggestions. It will also continue to improve with each new release of Visual Studio – adapting to the latest packages and trends.

Package suggestions are shown in the project-level package manager UI on the Browse tab before a query is entered. The model requires NuGet.org be included as a source and is not currently supported in the solution level package manager. The model does not influence search result ranking when a query is entered or suggest packages outside of NuGet.org. It also won’t suggest packages that are deprecated or already transitively installed in your project. In cases where the model would suggest a package that is deprecated, it’ll instead return the alternate package – making it easier to discover the best and latest packages for your needs!

What’s next?

We believe that this release of IntelliCode Package Suggestions is only the beginning. We are actively investigating opportunities to enhance other elements of the NuGet experience in Visual Studio with AI-assistance, such as package search relevance and project file editing.

NuGet.org is growing at an astounding rate with over 100 billion total package downloads and 250 thousand unique packages. Packages are constantly being added and evolving into new generations. AI-assistance can help you efficiently find the packages you need within the massive .NET ecosystem, so you can innovate as fast as you want to go!

We want to hear your feedback!

Your feedback is very important to us. If you experience any problems, have feedback on the quality of the suggestions, or have ideas for improvements – please consider filing an issue.

To see what is coming to NuGet next, view our public proposals or create your own proposal. Be sure to leave your feedback on existing issues & pull requests!

1 comment

Comments are closed. Login to edit/delete your existing comments

  • LiFei

    I think vs needs a cloud synchronization configuration function similar to vs code or edge. You can star nuget packages, which will be very useful