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: http://connect.microsoft.com/visualstudio.

ASP.NET Runtime/Web Tooling suggestions have moved! All your ideas, including your votes, have been transferred and are searchable in the ASP.Net Uservoice forum. Please submit any new ASP.NET Runtime/Web Tooling suggestions, or vote on existing suggestions by going to http://aspnet.uservoice.com.

We look forward to hearing from you!

Thanks – Deon Herbert
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 vote and comment on it.

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

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

  • Hot ideas
  • Top ideas
  • New ideas
  1. Don't require "async" keyword for the methods with "awaits" in the body

    This is misleading. This looks like a part of method signature but this is not. The only thing it does is: it enables awaits in the method body. This requirement looks the same as if you would require "enable_yield" keyword for the methods with "yields":

    public enable_yield IEnumerable<int> Foo()
    {
    yield return 42;//yield is enabled
    }

    public IEnumerable<int> Bar()
    {
    yield return 42;//compiler error
    }

    The "async" tells nothing new for the caller - the caller already knows that the method returns Task.
    If the method returns "void" - anyways any methods can start threads, enqueue work items to the…

    31 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…)
      10 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
    • Add the ability to sync our VSO Iterations, Stories and effort with our Portfolio Project

      Our organization consists of manufacturing, firmware and software departments. Culturally we have fully embraced Scrum for our Software teams, and we are getting ready to do the same with Firmware. Our Manufacturing departments will take some time to shift, thus we need this ability

      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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
      • Avoid multiple error message when selected a base class for a user control

        When I try to create a new user control using add item and then inherited user control, I got the following message multiple times which is annoying.

        There should be a way to see the message at most one time by having a check box to ignore subsequent errors or another way to skip those message.

        For a project having multiple assemblies that cannot be loaded for that purpose, this is annoying and it does take some extra time to load the list.

        Other possibilities would be to display a list somewhere maybe with a grayed item showing the name…

        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  ·  Windows Forms  ·  Flag idea as inappropriate…  ·  Admin →
        • Expose an API to be able to extend or take advantage of CodeLens features in extensions.

          The CodeLens feature of VS2013 Ultimate was the most exciting thing in VS2013 Ultimate, yet it is severely limited and underused. Its source control only integrates Microsoft-friendly source control, which is really quite greedy from you guys, considering the price of the Ultimate package... I understand you are pushing your own products, but denying support for the most widely used source control packages in favor of your own runner in a premium-only feature is pretty poor. Don't be a Grinch.

          I would like to be able to write extensions to support other source control packages like SVN or CVS through…

          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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
          • Prompt before previewing strings/values with large sizes that make the debugger unstable

            When debugging, putting the mouse over a variable shows a preview of what it contains. For large variables, it freezes everything while generating the preview. Make Visual Studio check the size of the variable and let the user know that the value is too large to preview. While I was running Remote Debugger, I put the mouse over a string containing deserialized XML data that I didn't realize was 42 megabytes, and the remote machine became entirely unstable to the point that it had to be restarted.

            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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
            • Make ConfigurationManager.SetConfigurationSytsem public

              There are quite a few blog posts and questions on how to override the default behavior of app.configs. Many come to the conclusion that one needs to derive a class from IInternalConfigSystem and via reflection send this to the private method in ConfigurationManager.

              Relying on private methods is never a good idea, and since a lot of .NET classes are hardwired to use ConfigurationManager to look up configurations it is important that we have the ability to override the default behavior. Making this single method public would probably be quite beneficial.

              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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • Can move or copy backlogs or bugs between project in Visual Studio Online

                Can move or copy backlogs or bugs between project in Visual Studio Online

                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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                • A cache-key parameter when using PartialCaching and TemplateControl.LoadControl(string virtualPath)

                  If you use PartialCaching on your WebUserControls and load them dynamically with TemplateControl.LoadControl() in a for-loop block all of those UserControls will have the same output results!

                  Controls should be cached with different keys but Asp.net assign duplicated key for all controls. This happens because TemplateControl.LoadControl use "AddStackContextToHashCode" method to generate a cache-key.

                  for example:

                  // All WebUserControls have outputcache directive in their ascx files!
                  for(var controlName in lstControlNames)
                  {
                  var control = this.LoadControl(controlName);
                  this.Controls.Add(control);
                  }
                  --------------------------------------------------
                  All control outputs will be the same after when they cached by Asp.net, that's becasue AddStackContextToHashCode generates the same cacheKey for all controls…

                  12 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 →
                  • MSVC team: Do the same stunt as what the .NET team has done with Roslyn and rewrite your compiler.

                    Use C++. Use an AST. Make a public API to use that AST, among other compiler capabilities. OPEN SOURCE IT!

                    - Rewrite because we feel that you can't do much with all the legacy cruft in your current codebase.
                    - Use C++ because current codebase is has lots of stuff written in C. *It's a C++ compiler after all.*
                    - Create public API. CaaS or something. Like Roslyn. Like clang, LLVM. Even GCC seems to up their efforts in this area. You don't even need to outsource C++ Intellisense to some other company!
                    - Open source because there's really no…

                    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  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                    • allow math functions on enums

                      VB allows some math and bitwise operators on enums. So why not also allow max, min? It's totally inconsistent.

                      I agree that enums with the Flags attribute need bitwise operations, but equally those without need arithmetic, at least to compare them.

                      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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                      • Add the ability to multi-select one or more NuGet packages to update

                        Add a checkbox to the NuGet package list and a "Updated Selected" button. Currently, the only options are Update All or you have to update each package individually which can be cumbersome if there are numerous packages.

                        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  ·  Visual Studio Ultimate  ·  Flag idea as inappropriate…  ·  Admin →
                        • Bring back Cassini

                          Bring back Cassini, iis express aint any good, cannot serve custom urls/domains (without unsupported hacks).

                          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 →
                          • Fix formatting of named arguments in VB

                            The formatting enforced by VB for named arguments is inconsistent with the formatting of everything else. There should be space around the := operator.

                            Foo(x:=1,y:=2,z:=3)
                            vs
                            Foo(x := 1, y := 2, z := 3)

                            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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                            • A way of checking processor can support phone emulator

                              I have a laptop with a processsor that is one of the first Intel i7 processors, and I don't know if it supports phone emulation. For me to upgrade from my windows 8.1 to windows 8 Pro (which is also necessary to get the emulator to work), I have to pay a hundred dollars. First, I would like to know if my laptop can support the Visual Studio express phone emulator. The processor has to support "hardware virtualization", and it supports some "virtualization", but Intel is not sure whether this is what Microsoft has in mind. So my suggestion -…

                              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 →
                              • Compare With Previous Version Shortcut

                                Mostly compare function is used to compare with previous checked in version, but to do this, user has to open version history and select the most top two version and click compare at context menu.

                                Whereas if there is a option in context menu like "Compare With Previous Version", it could compare automatically with previous checked-in version if exists.

                                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  ·  Visual Studio Ultimate  ·  Flag idea as inappropriate…  ·  Admin →
                                • more filteroptions for TestManager Testingcenter

                                  With VS 2013 Update 3 all testplans are shown in the Testing Center-Screen (especially all inactive testplans). Please provide the possibility to filter on the state column to hide inactive plans

                                  19 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  ·  Visual Studio Test and Lab Management  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Add a command to «go to the end of a word»

                                    The «Ctrld+right» shortcut usually does it, but in Visual Studio it works differently: it is rather goes to the beginning of a next word, i.e. it skips any space after the end of a current one. It is VERY uncomfortable, would be great if you implement this, as this is an usual command that is present everywhere, even in a browser which have little to do with text editing.

                                    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  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Add a command to repeat next action

                                      Visual Studio lacks possibility to repeat next command like Emacs and VIM does. I.e. in Emacs you may press «Ctrld+<number>», and the next pressed button will be repeated «number» times. So e.g. you can press «Ctrld+6, Down», and your cursor would move 6 lines down.

                                      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  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Run the build process on a separate thread. Sometimes I want to kick off a build locally and go update the status of a task or bug.

                                        Run the build process on a separate thread. Sometimes I want to kick off a build locally and go update the status of a task or bug and the IDE hangs. This is an issue for folks maintaining larger solutions.

                                        7 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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                                        • HLSL Syntax Highlighting

                                          Allow intellisense and the IDE to use syntax highlighting for HLSL. This would make graphics programming a lot more enjoyable and better.

                                          7 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  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base