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. 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 →
          • 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 →
            • 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 →
              • Provide an option to display CodeLens beside declarations rather than above.

                CodeLens is extremely useful, but I don't like that it adds an extra [fractional] line which isn't really "there" into the visual flow of my code on the page. This is made worse by the fact that CodeLens takes a brief moment to load, so when a code file is first opened, it appears as if there are many extra blank lines (very obvious & distracting when these 'blank' CodeLens spaces appear beneath doc comments or attributes but above the declarations they decorate).

                If there were an option to display these annotations off to the right side of a declaration…

                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 →
                • 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 →
                  • 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 →
                    • autocreate work item via email

                      Ability to auto create/update work items when sending email to TFS. For example, create an email account such as tfsbug@abc.com. Then when an email is sent to this address, TFS will scan the subject line. If it has an existing work item ID, then update existing work item. If there are no match, then TFS auto creates a new work item.

                      This functionality is readily available with many of common bug management system such as Jira.

                      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 →
                      • Queued build should utilise newly enabled build agent

                        When a build is queued, if it can't be started immediately, it appears to determine straight away what are the available build agents that it can run on.

                        It will then only wait for those agents, even if in the meantime another agent is enabled, which meets the criteria for running that build.

                        It would be nicer if the queued build re-evaluated available agents and could utilise a newly-enabled agent if one is provisioned whilst it is waiting in the queue.

                        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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                        • Provide a Release Management API

                          Teams using Release Management could really benefit from having an available API to expose the RM data for reporting and custom integration with existing workflow engines.

                          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  ·  Release Management  ·  Flag idea as inappropriate…  ·  Admin →
                          • Set the platform for the *.Editor plugins to x86 to prevent warnings

                            Is it possible to set the platform to x86 for the .Editor project rather than Any CPU? I've got a few plugins that have a processor architecture of x86 when compiled, which then gives the following warning.

                            "There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "XXXX", "x86"...."

                            This is *extremely* minor, as it doesn't cause any issues, it's just nice to have a warning free project!

                            10 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 Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                            • Make source code documentation in JavaDoc style.

                              XML type of source code documentation takes a lot of place in the editor, and it makes a lot of noise. I would suggest to make it more like JavaDoc documentation looks like.

                              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  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
                              • Allow DLL debugging for Unity projects without any source code

                                We work with many separate, related Unity projects. One project contains all the C# source code, and we build a DLL that we then distribute to the other Unity projects. Some of these "downstream" projects lack any actual scripts of their own, so the UnityVS solution that's created by the plugin doesn't contain any projects by default. I can still add the external "upstream" C# projects to the solution, as outlined in the documentation for external DLL debugging, however the debugger cannot connect! If the project I want to debug doesn't contain any raw source code (or a project of…

                                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  ·  Visual Studio Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                                • Control+D to duplicated an item (class) in the project view.

                                  I've been using the Unity game engine recently. Unity uses C# files for it's MonoBehavior class "scripts" and in the Unity project view there is a tree of C# class files that is very similar to Visual Studio's fantastic project view.

                                  In Unity to duplicate a file, I can quickly hit Ctrl+D and it duplicates and renames the file for me. In Visual Studio, I pretty much always do the same to add a new class, but I have to right click and select copy and then right click and select paste to make a duplicate of the file.

                                  Please…

                                  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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Block code as value (another syntax for semicolon operator)

                                    I propose allow return value from {} block to reduce redundant method and variable declaration.

                                    if(
                                    {
                                    var x = Foo();
                                    var y = Bar();
                                    Write(x);
                                    return x * y > 0;
                                    }
                                    )
                                    {
                                    //
                                    }

                                    int a =
                                    lock(dataInstance)
                                    {
                                    return dataInstance.Member1;
                                    };

                                    var x =
                                    lock(_dict){
                                    return {
                                    foreach(var pair in _dict)
                                    {
                                    yield return new {A = pair.Key, B = pair.Value.Member1};
                                    }
                                    }.ToList();
                                    }; //List<Anonymous type>

                                    var y =
                                    using(var conn = new SqlConnection(...))
                                    {
                                    return (await conn.QueryAsync<LongLongLongClassName>(
                                    "sql query"
                                    )).GroupBy(/* .... */)
                                    .Select(/* ... */)
                                    .ToList(); // Long long long final typename
                                    };

                                    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 →
                                    • @user mention notification in workitems

                                      Example
                                      I got a workitem assigned to me but i would like to have input from another team user. Then i would like to be able to to use @user to mention he or she to look at some changes. When i do that a notification is sent to that user.

                                      This is widely used by Trello for example and i really missing that option in TFS.

                                      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 →
                                      • Update work items on commit for git

                                        Allow resolving of work items when committing to git on Visual Studio Online.

                                        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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Application Insights - Implement SDK as Portable Class Libs - Support Xamarin IOS / Android / WinPhone Silverlight / WinRT / WPF

                                          It would seem that AppInsights client side SDK should be a PCL. This would greatly extend the reach.
                                          Basically, in this day and age, any app developer must write for all mobile platforms - WinPhone, IOS, Android, WinRT. Xamarin has proven the viability of PCL, and with great frameworks like MVVMCross (also a PCL) . Why MS is still building frameworks like AI that are not implemented as PCL is beyond me.

                                          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…)
                                            2 comments  ·  Application Insights  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base