Visual Studio 2015

Welcome to the Visual Studio 2015 UserVoice site. This site is for suggestions and ideas for the IDE of Visual Studio (Community, Professional or Enterprise). You can also add suggestions for Team Services or Visual Studio Code. Or go to Connect to file a bug. Note that Application Insights has moved to its own UserVoice forum.

We also added an Announcements section where we will be posting special opportunities for you to participate in.

Read about current UserVoice statuses and their definitions in our article “What Does the Status of My Feedback Mean?” article.

We look forward to hearing from you!

The Visual Studio team
Terms of Service and Privacy Policy

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

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

If a similar idea already exists, you can support and comment on it.

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

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

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Let lambdas with a statement body be converted to an expression tree

    The C# compiler supports translating a lambda expression to an expression tree (System.Linq.Expressions).

    Today lambdas with no statement body (only a single statement) are supported just fine.

    Expression<Action> x = () => Console.WriteLine("Hello World");

    But lambdas with a statement body (braces), which is needed to have multiple statements, doesn't compile.

    Expression<Action> y = () => { Console.WriteLine("Hello"); Console.WriteLine("World"); };

    I believe there is a lot of awesome stuff not being possible due to this lack of support.

    It seems very unproblematic to implement, but if there are any hidden issues with this feature, it would be nice to know so…

    307 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…)
      4 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
    • Starting then running all unit tests in a solution can take a very long time.

      We have over 200 projects, 2900+ unit tests. It takes over a minute some times to get to the point where it can start listing all the unit tests in the test window, and start executing. We have latest gen Core I7, 8GB 64 bit windows, and it is still a pain. Maybe this area needs 're-imagining', as I can understand the complexities of managing this large number of projects/tests, but it is not working well for us.

      302 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…)
        23 comments  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
      • Don't close all files when a project file is edited

        When a project file is edited on the file system (e.g. source control pull), you'll currently get a prompt: "The project '<name>' has been modified outside the environment"

        My options are to not reload, often not being able to compile, or reload the project closing everything I have open...even if it's completely unrelated to the project change (added image files for example). This causes a huge productivity loss on a rapidly iterating project (Stack Overflow in this case), I have to reload the project then spend time opening/searching for whatever I was working on before it happened. In most cases…

        301 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…)
          5 comments  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
        • Add shortcut to quickly open / close CodeLens function

          In Visual Studio 2013 Preview,
          CodeLens function is very powerful, but when we want to close or open it ... set step is too much. ( see Q&A : http://msdn.microsoft.com/en-us/library/vstudio/dn269218(v=vs.120).aspx )

          Add a shortcut, when we need it just "click (shortcut)" and show it, when we close is same.

          299 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…)
            5 comments  ·  Flag idea as inappropriate…  ·  Admin →
          • silverlight compile to html5 or Have XAML run in browser without plugin

            have Silverlight compile to html5 or Have XAML run in browser without plugin.

            298 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…)
              18 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • Make go-to-definition and find-references work between F# and C# projects

              In a solution containing a mixture of C# and F# projects, go-to-definition does not work when your starting point is, say, C# and the target function/value/type definition is in F#. (And vice versa.) The same is true for find-all-references.

              This is a major inconvenience when working on this kind of mixed codebase. It would be great if it could work in both directions but even go-to-definition would be a great start.

              294 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…)
                4 comments  ·  Flag idea as inappropriate…  ·  Admin →
              • Give option to search only in uncommented code

                When searching for a string in a project's source code, I often find myself wasting time examining lines that have been commented out. it would be useful to offer an option to return only lines that are not commented out, so as not to confuse the results.

                292 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…)
                  14 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                • Stop Autoformatting my code

                  Visual Studio has always had options to stop the editor from autoformatting our code. They are found in Options > Text Editor > C# > Formatting > Defaults.

                  In Visual Studio 2015, you decided to add a bunch of new actions that cause Autoformatting to happen. And you didn't add the option to turn it off to this screen.
                  Some of the cases where it now happens:
                  - When I press colon
                  - When I press {
                  - Some cases with the using block.

                  It would be even better to just have a NEVER autoformat my code option - And…

                  291 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 →
                  • "View White Space" should show line endings too

                    As described here: http://connect.microsoft.com/VisualStudio/feedback/details/621096/view-white-space-should-show-line-endings-too

                    Request:
                    * Visual Studio > Edit menu > Advanced > View White Space.
                    * Currently, this feature shows a symbol for space and tab characters.
                    * I would like to be able to view line endings too.
                    * I would like to be able to view what style of line ending was used.

                    And that's it for the request.

                    And now I offer some suggestions as to how this may look. Here's what I've seen other tools do:
                    * TortoiseMerge uses a single, unobtrusive symbol. It is "light" and does not distract from the main document…

                    290 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…)
                      5 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                    • Make Visual Studio per-monitor/multi-monitor DPI aware

                      http://msdn.microsoft.com/en-us/library/windows/desktop/dd464646
                      http://imgur.com/qAiVw1Q,eVRIBlZ

                      When dragging VS 2013.1 Express to my second monitor running at a different DPI, it becomes blurry. VS seems to be acting as if it only has support for global DPI settings instead of per-monitor settings. It would be great if VS followed the same guidelines its users are attempting to follow when it comes to developing desktop apps ;-).

                      287 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…)
                        17 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                      • Roll Behaviors and TriggerActions into the .NET framework proper

                        Remove the dependency on the custom Blend assembly and add Visual Studio support

                        287 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 Presentation Foundation  ·  Flag idea as inappropriate…  ·  Admin →
                        • JavaScript and VB6 programming - MSDN magazine article

                          The February 2016 edition of the Microsoft MSDN magazine has an article by David Platt "Don't Get Me Started - VB6: Waking a Sleeping Giant"
                          https://msdn.microsoft.com/en-us/magazine/mt632280

                          Platt suggests developing a new version of the VB6 programming language and IDE (which he names VB*) that compiles to Javascript and HTML5.

                          Platt says "The VB* programming model would conceptually resemble the ASP.NET Web Forms model, in which controls render their content as HTML. But that rendering requires ASP.NET on the server side, and VB* needs to avoid depending on any particular server. Therefore, VB* will compile down to independent pages of HTML5…

                          286 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…)
                            23 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
                          • Start developing the Windows API Code Pack again

                            Back in the Windows 7 timeframe, Microsof gave us the "Windows API Code Pack", as a way of using some of the new Win 7 APIs from .Net.

                            It was really useful, but (like anything) it had some bugs, and was missing some useful features.

                            Unfortunately it seems to have been abandoned by Microsoft, with no release since August 2010, and the website moved to the "archive" site:
                            http://archive.msdn.microsoft.com/WindowsAPICodePack

                            Please bring it back!

                            NuGet seems like a perfect vehicle for distributing a package such as this, so that API bindings can ship alongside OS releases (or not), rather than being…

                            281 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • Improved validation

                              Make validation accross entities easier. Something like Workflow rules engine, with dependencies between rules, dynamic loading of rules etc.

                              281 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 Presentation Foundation  ·  Flag idea as inappropriate…  ·  Admin →
                              • ISO C++ wrappers for WinRT

                                Now that WinRT has been unveiled, a lot of people have criticized the C++/CLI-like quasi-C++ that is the recommended way to interface with the API. And honestly, it looks reasonably nice. If we're willing to give up all hopes of using another compiler than VC11, and don't mind non-standard code in our C++ application, it seem a nice way to interface with WinRT.

                                But how about an alternative?

                                How about offering a "best effort" library-only ISO C++ wrapper to make WinRT usage as simple as possible without relying on library extensions? It doesn't have to be as clean and pretty…

                                279 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  6 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                • Improve Event to Command Binding in WPF

                                  Invoking a command on an event requires the use of the Expression Blend interaction triggers. The syntax for this is pretty ugly.

                                  Make the WPF tooling smarter so that we can easily bind events to commands via binding.

                                  e.g:

                                  <Button MouseEnter="{Binding MouseEnterCommand}"></Button>

                                  279 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…)
                                    4 comments  ·  Windows Presentation Foundation  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Make MS Test Framework Opensouce

                                    So many things in the Microsoft universie is open sourced but MS Test is currently not. Please makemit opensource so we can enhance it with additional features as well as removeing old flaws.

                                    278 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…)
                                      8 comments  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                    • assembler

                                      Make inline asm in x64-bit projects.

                                      272 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…)
                                        20 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Support XAML 2009 in Visual Studio Editor and WPF markup-compiler

                                        Finally add support for XAML 2009 and its great features to the VS Editor and the WPF markup-compiler

                                        http://msdn.microsoft.com/de-de/library/ee792007.aspx

                                        270 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          7 comments  ·  XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Compliable strings

                                          If you're writing a tracing and logging component you may well want to pass the current method name to your logging component. Rather than hard code it (then forget to change it when you change the method name) you can use reflection and the MethodBase class to retrieve the name:
                                          System.Reflection.MethodBase currentMethod = System.Reflection.MethodBase.GetCurrentMethod();
                                          System.Diagnostics.Debug.WriteLine(currentMethod.Name);
                                          System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Name);
                                          System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Namespace);

                                          In C # 4.5 you can use attributes System.Runtime.CompilerServices.CallerMemberNameAttribute, System.Runtime.CompilerServices.CallerFilePathAttribute and System.Runtime.CompilerServices.CallerLineNumberAttribute for such purposes.

                                          Frequent use of reflection dramatically reduces performance. Using special attributes is a contentious issue. Because attributes inherently are declarative. They obviously do not provide full support for the…

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

                                          Feedback and Knowledge Base