Visual Studio

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, visit the Visual Studio Connect site: https://connect.microsoft.com/visualstudio.

We would also like to invite you to check out the Announcements section we have added to this site, where we will be posting special opportunities for you to participate in.

We look forward to hearing from you!

The Visual Studio Team
Terms of Service and Privacy Policy

NEW! Announcing Limited Preview for Visual Studio Online Code Search

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. Add a 'MustUse' attribute usable for the 'return' target, to indicate the return value of a method must be used

    [return:MustUse]
    Action Foo(int param) {
    return () => { Debug.WriteLine(param.ToString()); };
    }

    Foo(5);

    Would generate the warning/error

    return value is never used

    Reason not to use 'out': the code size would increase by a considerable amount, and the readability would decrease.

    6 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
    • Improve WPF 3D

      In general, simply invest in improving the 3D framework. Specifically, add the ability (for users) to create and instantiate high level 3D elements in xaml (e.g. allow Cube, Cylinder, Sphere, etc. to be "native" WPF objects).

      666 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  ·  Windows Presentation Foundation  ·  Flag idea as inappropriate…  ·  Admin →
      • High Performance line graph control based on Dynamic Data Display

        Support for a high performance line graph control based on (or similar to) the Microsoft Research Project Dynamic Data Display (http://dynamicdatadisplay.codeplex.com/). Dynamic Data DIsplay is great but work on this project appears to have stopped.

        414 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  ·  Windows Presentation Foundation  ·  Flag idea as inappropriate…  ·  Admin →
        • Add a raw stack view to native debugging (a la OllyDbg)

          VS has the Call Stack window which displays a nice view of the call stack, which is useful, but is of limited utility when you want to debug a corrupted stack or looking into different calling-conventions, I'm sure there are plenty of other scenarios where you would want to see the raw data of the stack.

          You can use the Memory window with it set to the base address of a thread's stack, but this is just the raw bytes, it isn't annotated to identify return addresses and arguments/parameters (if they're values or pointers, etc).

          Other debugging tools such as…

          4 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  ·  Debugger  ·  Flag idea as inappropriate…  ·  Admin →
          • ADD C programing language

            Add C Programing language.

            Please visual studio is the best programing language and it will be better with this language

            1 vote
            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  ·  Compatibility  ·  Flag idea as inappropriate…  ·  Admin →
            • 14 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 →
              • Restartless extensions

                Allow extensions to be installed and removed without restarting VS.

                2 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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                • Android Emulator available standalone and not bundled with Visual Studio

                  external user:
                  I wish the @VisualStudio Android Emulator was available standalone and not bundled with VS2015 preview...

                  6 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  ·  VS Emulator for Android  ·  Flag idea as inappropriate…  ·  Admin →
                  • About PeerFinder.Role: A Host app can connect to up to five Client apps. I think five is too little

                    PeerFinder.Role: A Host app can connect to up to five Client apps. I think five is too little,if the maximum is 22, develop a football game app will become easier.

                    1 vote
                    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  ·  Flag idea as inappropriate…  ·  Admin →
                    • dynamically load DLL

                      I think the windows desktop program do well, can be dynamically loaded DLL user-defined, but windows store app does not. a lot of APP need dynamically load DLL when they need, if can not dynamically loaded DLL, will greatly reduce the number of windows store app. it will also be very frustrating thing.

                      1 vote
                      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  ·  Windows 8 Apps  ·  Flag idea as inappropriate…  ·  Admin →
                      • Enable Smart Unit Tests to generate tests for Database Projects

                        Please add support for database projects (SSDT) for smart unit tests. Creating tests in Database Unit Test projects is tedious enough. Having smart unit tests analyze the database code and generate unit tests would be an incredible boost and productivity and code quality.

                        4 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  ·  Visual Studio Test and Lab Management  ·  Flag idea as inappropriate…  ·  Admin →
                        • Add Auto-Reload to Visual Studio when adding C# scripts to the project from Unity

                          There is an option in Visual Studio to auto reload when changing a file as long as there are no unsaved changes, but there is no option to auto reload when adding files to a project.

                          Everytime adding a new script inside of Unity we get a prompt in Visual Studio to Reload/Reload All. It would be really nice to have UnityVS handle this since it happens a ton of times during the development of a project and it is something it really should be doing anyway.

                          15 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  ·  Visual Studio Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                          • Allow overriding built-in Code Analysis dictionary terms

                            We need the ability to override Code Analysis dictionary terms which are shipped out-of-the-box (C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\CustomDictionary.xml)

                            Otherwise, there is no way to get rid of CA1704 (IdentifiersShouldBeSpelledCorrectly) warnings for terms that are marked as unrecognized (e.g. "Multi") or compound (e.g. "Toolbar") in the built-in dictionary.

                            There is some discussion on Connect[1], but I refuse to accept the recommendation that we need to actually modify our Visual Studio installation files in order to be able to use certain words without CA complaining. This is not a practical solution for large teams.

                            I see two…

                            21 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  ·  Flag idea as inappropriate…  ·  Admin →
                            • 1 vote
                              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  ·  Flag idea as inappropriate…  ·  Admin →
                              • There should be a Visual Studio edition for young developers

                                There should be a Visual Studio edition, dedicated to young developers, providing them with templates to start their coding right away.

                                3 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  ·  Flag idea as inappropriate…  ·  Admin →
                                • Support Object Initializers on ExpandoObjects

                                  The following really seems like a feature that should work, but it gives a compiler error:

                                  dynamic expando = new ExpandoObject {
                                  FirstName = "David",
                                  LastName = "Lee"
                                  };

                                  It makes sense for Object Initializers to work on all types that implement IDynamicMetaObjectProvider. This inline initialization is especially useful when you want to pass the object inline as a parameter.

                                  For example:

                                  RegisterOptions(
                                  first: new ExpandoObject { FirstName = "A", LastName = "B" },
                                  second: new ExpandoObject { FirstName = "C", LastName = "D" },
                                  third: new ExpandoObject { FirstName = "E", LastName = "F" }
                                  };

                                  Instead of:

                                  dynamic…

                                  5 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Improve tooltips for type aliases

                                    The tooltip for a type alias just points you back to the original type. Especially for type providers, where it's very common to alias most of the generated types, this is not very useful, as the types aliased to are not well-know by the developer.

                                    The proposal is to change those tooltips from this:

                                    type t = ABBREVIATION

                                    to this:

                                    type t = ABBREVIATION
                                    = EVENTUAL TYPE AFTER REMOVING ABBREVIATIONS

                                    1 vote
                                    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  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Run windows store unit tests as a new app

                                      Currently when using MSTest, the unit tests are run by deleting the local storage of the app, running the tests and then uninstalling the app.

                                      Other testing frameworks like xUnit run unit tests as a separate app, so the local storage is unaffected.
                                      In mstests, the unit test package name must be identical to the app's package name. Changing this restriction would fix the problem described above

                                      3 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  ·  Windows 8 Apps  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Allow a VS Online account to be moved to another region

                                        Initially, only the USA regions were available for VS Online accounts. Now it's also possible to choose West Europe.
                                        I'd like to be able to move the account I have to West Europe, keeping the URL.

                                        27 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  ·  Cloud  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Add support for ALPN to System.Net.Security.SslStream

                                          The proposal is to add TLS ALPN support to the System.Net.Security.SslStream API. One of the key applications of this would be to negotiate SPDY or HTTP/2 connection with a server.

                                          "Microsoft drove into the TLS working group a new standard called ALPN: [IETFDRAFT-ALPN] Internet Engineering Task Force (IETF), "Transport Layer Security (TLS) Application Layer Protocol Negotiation Extension", draft-ietf-tls-applayerprotoneg-00, April 2013, http://tools.ietf.org/html/draft-ietf-tls-applayerprotoneg-00 This standard uses a TLS extension during the handshake to communicate to the server/client what inner protocol will be spoken over the secure stream. For instance, this is how SPDY and HTTP/2.0 connections are negotiated between browsers and compatible…

                                          223 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 →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base