Visual Studio IDE

Welcome to the Visual Studio UserVoice site. Let us know what you would like to see in future versions of the Visual Studio suite of products. This site is for suggestions and ideas. If you need to file a bug, you can visit our Developer Community website to get started. 

NOTE: The Applications Insights forum has moved to the Azure feedback site.

For suggestions for improvements to other developer products, see these sites:

To review the current UserVoice statuses and their definitions, please review our “What Does the Status of My Feedback Mean?” article.

We look forward to hearing from you!

- The Visual Studio Team
Terms of Service and Privacy Policy

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Please provide Visual Studio 2017 Express.

    Please provide Visual Studio 2017 Express.

    114 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      5 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • Make the WebBrowser Control work with Project Spartan

      We've heard quite a bit of news lately about Project Spartan and how it's a replacement for Internet Explorer.

      However, anyone who has used the WebBrowser control knows that it's just a wrapper around Internet Explorer, and it's quite painful to actually use in .net if you want to do anything more complicated than display a web page on a form, especially if you want to do so without a UI.

      If Internet Explorer goes away, what happens to the WebBrowser Control? Now seems like a great time to really take a swing at improving the WebBrower control and web…

      113 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        6 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • Support System.ComponentModel.DataAnnotations in Portable Class Libraries

        Entity classes should be the linchpin of any application, no matter what platform your application is built on.

        Therefore, it would be nice if entity classes could be defined in a single portable class library and reused on multiple platforms. To that end, it's imperative to allow System.ComponentModel.DataAnnotations namespace to be used in PCLs since attributes contained therein are used for data validation in multiple frameworks.

        109 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
        • Publish WCF service with command line

          Actually I can't publish a WCF service without Visual Studio. I suggest provide an alternative to publish WCF services using a command line using MSBuild to publish services.

          108 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Allow HtmlAttributes in ASP.MVC EditorFor

            Allow HtmlAttributes in ASP.MVC EditorFor now.
            Gareth posted in StackOverflow:

            "Why can't I pass in html attributes to EditorFor()? eg;"

            <%= Html.EditorFor(model => model.Control.PeriodType,
            new { disabled = "disabled", readonly = "readonly" }) %>

            http://stackoverflow.com/questions/3735400/html-attributes-for-editorfor-in-asp-net-mvc

            Well, still in MVC3 I am having the same problem. There is no sense in having this limitation. Why can't a developer add a @class, or any other attribute. Today they cannot be rendered easily.

            108 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              4 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • Please create a DGML visualizer control that can be incorporated into applications at runtime.

              It would be very nice to have a control for displaying DGML graphs at runtime for my application. I think it would make a greate UI element.

              107 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                9 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • kproj/xproj should not be associated with ASP.Net it makes sense for all other application types too.

                As the title states, don't make xproj/kproj exclusive to sp.net projects. The general idea behind this project also applies to desktop (and all other project types) too. Even better just use project.json without any *.*proj file as another suggestion already states.
                Just allow for a target to build into binaries directly.

                103 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Support Bridge.net

                  Along with Xamarin and Cordova tools that indeed help multi-platform development, maybe you should also promote Bridge.NET's C#-to-JavaScript/TypeScript.

                  This way a developer can write business logic AND user interface façade services using C#, and then develop NATIVE user interfaces using any of these technologies: WPF/XAML, UWP, Windows Forms, ASP .NET WebForms/MVC/WebAPI, Xamarin, Unity (!) - directly, and using the generated JavaScript and TypeScript definitions as well with: HTML5 (Angular/other DOM frameworks), UWP JS, Cordova tools, and NodeJS (server side)!

                  102 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Add WebAssembly / asm.js as a target platform to .Net

                    I think, generating WebAssembly/asm.js code from .Net IL would be really appreciated. It can be a good alternative to Silverlight.

                    92 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • Self-hosted WCF services stack in .NET Core

                      I would like to see the WCF service side being made available in the .NET core, so that we can continue developing WCF services and start targeting other platforms.

                      Ultimately I would like to see the full stack including the common bindings: NetTcp, NetPipe, and maybe WsHttpBasic.

                      But to cut this short, my priority lies with the self-hosting and the base classes for custom bindings. This way, the community can start implementing the various bindings on their own, while Microsoft can focus on getting the core of WCF right.

                      82 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Make Task<T> implement covariant interface ITask<out T>

                        Task<T> sounds like a good candidate for covariance. Except classes can't be covariant in .Net, only interfaces can.

                        So it would be nice if Task<T> implemented a new, covariant interface ITask<out T>.

                        I believe that adding a new interface to existing class doesn't break any backwards compatibility, so this shouldn't cause any problems.

                        79 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                        • Make System.Web.HttpValueCollection public

                          Right now, System.Web.HttpValueCollection is internal and derives from NameValueCollection.

                          This is problematic for two reasons:
                          First, HttpUtility.ParseQueryString returns a HttpValueCollection as a NameValueCollection but because HttpValueCollection overrides ToString(), this is a source of hard to spot bugs: I can call ToString on the "NameValueCollection" returned by ParseQueryString and get a proper querystring, but calling ToString on a real NameValueCollection just returns the type name. (Unlike interfaces, returning a more derived concrete type as a base type that overrides ToString is very surprising)

                          Second, HttpValueCollection actually contains really useful functionality for creating querystrings - functionality that is useful for building URLs.

                          67 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                          • Add a IFormattable to the boolean type

                            It would be handy if I could provide a custom format when writing out boolean values.

                            I propose this would look like this: "{0:String_If_True:String_If_False}".

                            An example in C# would look like this:

                            bool result = SomeBoolReturningFunction();
                            Console.WriteLine("Result: {0:Success:Fail}", result);

                            Same example in VB:

                            Dim result as boolean = SomeBoolReturningFunction()
                            Console.WriteLine("Result: {0:Success:Fail}", result)

                            67 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              under review  ·  4 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • Windows Services in .NET Core

                              Create modern alternative for windows services that we can use to create background worker for Windows, Linux, Azure and maybe even Windows Mobile. It should use project.json, maybe support .net native and should be easy to deploy like web application.

                              63 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Cortana API for web applications

                                Right now cortana is available for win phone apps and with windows 10 she'll come to desktops too. But why restrict her to native machines. Unleash her into the internet by providing API to integrate cortana into web applications with asp.net, mvc etc. This way it would change the way web is used. Cortana could be every where and users can browse through applications or look for content even if they don't know the navigation or use any other capabilities that the developer enables. Also that way she could be even an avatar like feature to help users and will…

                                63 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • Modify CultureData to support PersianCalendar

                                  Currently, the windows OS does not return the correct Calendar for "fa-IR" culture, so anytime you create a new CultureInfo instance you end up with a wrong calendar!
                                  I couldn't help but notice in the .net reference source there's also a similar issue with the "zh-TW" culture which you have managed to fix when you make reference to CalendarIds property, as you can see here:
                                  http://referencesource.microsoft.com/#mscorlib/system/globalization/culturedata.cs,93714edd02838809

                                  As mentioned above there's a line of code in culturedata.cs class which fixes ""zh-TW"" culture with Calendar.CAL_TAIWAN
                                  I suggest you do the same with PersianCalendar (which is a built-in type within .net framework)
                                  I…

                                  60 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Add support of null propagating operator to the expression

                                    Null propagating operator "?." was added to C# 6 but unfortunately you cant define an expression with this operator. The following code fails with "Error CS8072 An expression tree lambda may not contain a null propagating operator." compilation error

                                    Expression<Func<User, string>> epr = usr => usr?.Name;

                                    I know the main reason is to prevent using this operator with ORM frameworks but this really limits the language because of implementation of same libraries. Expression is a great way to dynamically generate functions and would benefit Rx.NET and LINQ to Object.

                                    59 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                    • reverse the deprecation of XPS Print API, or produce a viable server-side alternative

                                      There is currently no supported .NET API for printing server-side (e.g .from Services). In 2009 I was put in touch with one of the relevant people at Redmond, who said that some people get away with using System.Printing from services, but its unsupported, and fails for many people. He helped these people re-write their code to use unmanaged APIs.

                                      There were two unmanaged alternatives: GDI and XPS Print. GDI is too much work, but XPS Print worked great, because you can easily use managed code to create the XPS, and then the unmanaged XPS Print API to print it. But…

                                      49 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Object reference not set to an instance of an object.

                                        Please include more information in the exception. If it's in the debug mode, we get the line number, but in release all we know is the name of the method, which often makes it real hard to find out WHAT was null. You know the type of the reference, please include that.

                                        45 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Create a new project type for the front-end projects (SPAs)

                                          SPA is becoming a new trend in web development, but Visual Studio doesn't yet support splitting web applications into two separate projects - one for the front-end (Angular, Ember, React etc.), and another one - backend code (ASP.NET Web API, SignalR etc.), yet allowing to build and run them as a single web application. The directory layout you are currently enforce to use is not suitable for SPA applications. That is one of the reasons why many web developers switch from ASP.NET development to GO and other technologies.

                                          It would be nice if VIsual Studio would support a directory layout…

                                          43 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base