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. 

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. 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.

    76 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 →
    • .Net Native compliler for Desktop

      Provide the .Net Native compiler not only for Windows Store applications.

      75 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 →
      • 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.

        74 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 →
        • 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)

          68 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 →
          • 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 →
            • 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.

              62 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 →
              • 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…

                61 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 →
                • Generic OrderedDictionary

                  Add a generic OrderedDictionary implementation like this one https://github.com/mattmc3/dotmore

                  56 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 →
                  • Make System.Net.Http referenced by default in new .NET 4.5 projects

                    Open Visual Studio 2013 and create a new console project or class library. By default, the project will reference System.Data, System.Data.DataSetExtensions, but not System.Net.Http.

                    This makes no sense.

                    How is it more likely that I will be working with DataSets than making HTTP requests? This is 2014, not 2004.

                    Please update the project templates to reflect the needs of programmers today.

                    55 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…)
                      7 comments  ·  .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…

                      50 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 →
                        • 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.

                          44 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 →
                          • 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 →
                            • Add the DatabaseFirst option for Asp.Net 5 projects how it was in earlier versions of Asp.Net

                              Give back the wizard for using Database First like it was for Asp.Net in earlier versions where we could add the Db Entities just by right-click->add new item->ado.net data entity instead of writing all the commands in Package Manager and Command Prompt, it takes us a lot time and is risky (easy to write commands wrong). Bring the designer back.

                              40 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 →
                              • 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…

                                40 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 →
                                • 36 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 →
                                  • Named Token String Formatting

                                    Currently when using `String.Format` to insert text in a string placeholders are defined by index; e.g.

                                    string s = String.Format("{0} is the name of my pet {1}","Brian","Dog");

                                    Instead it would be nice to have a mechanism to allow these placeholders to be named, such as:

                                    string s = String.Format("{name} is the name of my pet {animal}",{"name","Brian"},{"animal","Dog"});

                                    It seems to be a popular question on forums, suggesting there's demand:
                                    http://stackoverflow.com/questions/159017/named-string-formatting-in-c-sharp

                                    36 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 →
                                    • to support TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 cipher suite with ECC parameters. NIST P-256 (SECP 256) and BrainpoolP256r1 are pretty po

                                      to support TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 cipher suite with ECC parameters. NIST P-256 (SECP 256) and BrainpoolP256r1 are pretty popular in Europe. E.g. German Standards enforce that, ECC/Brainpool curves have to be used to secure IOT scenarios. As far as I know ECC/Brainpool curves are already supported by some C++ (OpenSSL) and Java libraries (Bouncy Castle).

                                      36 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 →
                                      • Make Docking and Windows Panels native control. Similar to what Visual Studio has.

                                        Every medium sized application needs Windows Panels and Docking mechanism anyway. Visual Studio has this function incredibly well implemented why not make it accessible for every application. Every medium sized application would not have to spend months building their own or debugging and testing free or commercial alternatives.

                                        35 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 →
                                        • TPL Dataflow in distributed environment

                                          TPL Dataflow is one of the few Microsoft calculation engines designed for real world. It is great. But unfortunately it has been feature-frozen for more than a few years. Meanwhile, other ecosystem involved a lot in this real-time processing area.

                                          So, please continue to invest on TPL Dataflow. More built-in blocks please. More importantly, let the data flow across processes/machines.

                                          Btw, I know the existence of Project “Orleans”, which is a good attempt but seems to be Azure-only. Microsoft please carefully look at the two and work out an unified Actor model. At this moment, they are two wheels built…

                                          32 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