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. Fix Test Explorer output (monospace font and output not via link)

    Arguably a great thing with VS2012/2013 was a new faster test executer. However, the new Test Explorer is in almost all ways a lot worse than the old version. One thing particular is that this UI completely disregard normal code fonts and uses a non-monospace font which causes output formatting to not follow normal trace output in the output window. Since every single developer in the world most likely at one point has depended on monospace font to get formatting right in traces this inconsistency is extremely annoying.

    Not only the for the fact that to actually get to trace…

    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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
    • Allow more than 20 backlog items to show in the "New" column of the Kanban board

      If there are more than 20 items in the new column of the Kanban board, the oldest items just don't show up. I would like to be able to see all the items in the Kanban board so our team doesn't just forget about older items.

      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…)
        under review  ·  0 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
      • Support for variadic generic arguments in C#

        I think it would be nice to have variadic generic arguments on c#

        something like this:

        class Entity
        {
        void Add<T, in TArgs ...>(TArgs args)
        where T : Item
        where T : new(Entity parent, TArgs args)
        {
        items.Add(new T(this, args));
        }
        }

        This is a lot safer than getting T constructors via reflection and receiving params object[] as arguments.

        Maybe this could also be used to declare interfaces

        interface ITest<in TArgs ...>
        {
        void DoSomething(TArgs args);
        }

        delegate TResult Func<in TArgs ..., out TResult>(TArgs);

        public static void SafeTest<T, in TArgs ...>(this T t, TArgs args)
        where T : ISample<in TArgs> …

        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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
        • A new class RegistryWatcher like FileSystemWatcher

          Please create a new .NET class for registry changes like FileSystemWatcher.

          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 →
          • Dynamic Modularization Framework

            In the DevOps trend, Microsoft needs to bring a reference open modularization framework.

            Some years ago COM based developement has been a step into that direction with language independence.

            Since that time OSGi specification has been recognized and it is already strongly supported in the Java world meanwhile being
            centralized and target only single programming language.

            We need a framework to support distribution execution and programming language independence. Modern solutions which may be written in different programming languages need to be able to call each other transparently so that it can be applied in many different platforms and langagues.

            This…

            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  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
            • Make the PtrToStructure method a true generic version.

              In .NET 4.5.1 the generic marshaling method for PtrToStructure and it's inverse gave hope in performance improvements. However developers found out it was merely a wrapper over the boxed version of those functions. Please recode these methods to truly utilize generics to avoid type boxing in using this function.

              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 →
              • Re-add Font and Color options in TFS 2013 Web Access Work Item text formatting bar

                Re-add Font and Color options in TFS 2013 Web Access Work Item text formatting bar.

                This is a very useful tool for QA team to emphasize bug items that need attention.

                8 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                • Anonymous type definition

                  Allow c# to define types in inline way. For example I have a web api action that returns a Dto. I have to define action as:

                  public class Dto
                  {
                  public int Key {get; set;}
                  public Group Value {get; set;}
                  }

                  action:
                  public Dto GetDto()
                  {
                  ...
                  }

                  I suggest to write action method as:

                  public {int Key; Group Value;} GetDto()
                  {
                  ...
                  return new {Key = key, Value = group};
                  }

                  Also C# can defer type from action method. So this code can be valid:

                  public anonymous GetDto()
                  {
                  ...
                  return new {Key = key, Value = group};
                  }

                  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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                  • Show clipboard ring entries with a small menu

                    Hello,

                    I would love to see an option to enable/disable the display of a small menu ( same as intellisense one ) when using the clipboard ring feature.

                    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 →
                    • Add option to prevent indentation of classes inside namespaces in C# code

                      The option is there for C/C++ but not in C#. Please add it in C#

                      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 →
                      • Make the default value for Iteration Path the TeamBacklog and not the current sprint.

                        The default value for iteration path is currently defaulting to the current sprint. Suggest to make the default value the teambacklog. Making the default configurable would also be useful, but making the default path teambacklog would make it so that users do not have to remember to clear the current sprint path each time a new item is created.

                        13 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                        • Make ToDictionary report the offending key in case of duplicates

                          Right now the message we get is "An item with the same key has already been added.".

                          I would find it really helpful if it could include the key that it was trying to add.

                          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 →
                          • PingReply: Include the RoundTripTime no matter the status

                            When using the System.Net.NetworkInformation.Ping class to ping an address, a PingReply object is returned. This object includes the round trip time of the ping request. However, the actual round trip time value is thrown out whenever status != IPStatus.Success.

                            That may be OK when you are only interested in a typical ping response, but for anything more advanced, it becomes problematic.

                            For example, if you were to reproduce a trace route, all the intermediate hops return a PingReply with status == IPStatus.TtlExpired, and due to the non-success status, the round trip time is always set to zero.

                            The underlying COM…

                            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 - C#  ·  Flag idea as inappropriate…  ·  Admin →
                            • 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 →
                              • C/C++ debugging: option - show values in decimal & hex

                                The debugger currently displays values in either decimal or hex, I often find it convenient to see it both ways.

                                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 →
                                • Linker error LNK2019 "unresolved external symbol", click on line in output to open source file like compiler errors

                                  When you receive a linker error 2019:
                                  abc.obj : error LNK2019: unresolved external symbol "void
                                  __cdecl MyFunct(void)" (?MyFunct@@YAXXZ) referenced in function "public: bool __thiscall CMyClass::Calculate(char const *,char const *)" ....

                                  it would be great if I could click on line in output window to open source file like compiler errors.

                                  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 - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Editor: Placing the caret (typing) in a braced/bracketed section of code, highlight enclosing braces/bracketed

                                    When editing a section of code that has many nested brackets/braces, it would be great if the enclosing brackets/braces were highlighted.

                                    For example, if the caret was positioned to the left of the "5":
                                    int nWD = 1+((2+(((j/100)%4)*5)+k)%7);
                                    then the parenthesis to the right of the 5 and to the right of "2+" would be highlighted.

                                    Although the current matching bracket/brace highlighting feature of click on a bracket/brace to highlight the matching one is great, this would make it easier to avoid coding errors.

                                    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…)
                                      0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Conditions support for <Content> section of VSIX manifest

                                      Currently you can have a single .vsix file targeting several Visual Studio versions. But all the content is deployed to all Visual Studio versions. The request is to be able to deploy content based on conditions such as the Visual Studio version, edition, dependency installed or not, etc.

                                      An scenario for this goal is the following: suppose that I have a single package MyAssembly.dll which has two different .vsct tables with different icons for VS 2010 (colorful) and 2012/2013 (gray). So I get two embedded resources such as Menus1.ctmenu and Menus2.ctmenu. Imagine that somehow I get two .pkdef files (MyAssembly1.pkdef…

                                      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  ·  Extension  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Fix

                                        The free version of visual studio for my Windows 8 computer will only work when I install it. Then when I try to open visual studio later it says it needs to repair something. After its done repairing itself, the same screen will pop up saying it needs to repair itself again! I did it six times in a row and I can't fix it.

                                        Also, I've tried uninstalling and reinstalling it. That works, but only for that one time use. It takes several hours for it to download. So I'd really like it if it worked everytime I got…

                                        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  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Fix F12, Goto definition: "Cannot navigate to definition. Source code is not available."

                                          Goto definition should show something more meaningful than error message "Cannot navigate to definition. Source code is not available." even if (3rdParty library) source code is not available / in the project.

                                          E.g. C# will show either Object Browser window or the name of the dll and method signatures / overrides. With Resharper there are even more possibilities.

                                          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…)
                                            0 comments  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base