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. Mirror the .NET framework source code on Github

    It would really be helpful if the .NET framework source code was available for online browsing and referencing. Hosting the source code on GitHub would enable this as well as the ability to link to files and even specific lines of code. However the current code drop would need to be better organized before it is mirrored online. Organizing by folder/namespace would make it really easy to navigate.

    71 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • Add a IFormattable to the boolean type

      It would be handy if I could provide a custom format when writing out boolean values.

      I propose this would look like this: "{0:String_If_True:String_If_False}".

      An example in C# would look like this:

      bool result = SomeBoolReturningFunction();
      Console.WriteLine("Result: {0:Success:Fail}", result);

      Same example in VB:

      Dim result as boolean = SomeBoolReturningFunction()
      Console.WriteLine("Result: {0:Success:Fail}", result)

      69 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  ·  4 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • Add ToQueue<T> and ToHashSet<T> extension methods on IEnumerable<T>

        IEnumerable<T> has the ToList<T> extension method, and it would be very useful to have equivalent ToQueue<T> and ToHashSet<T> methods. Although Queue<T> and HashSet<T> have constructors that take an IEnumerable<T>, they cannot be used when T is an anonymous type. For example this is an error:

        var q = new Queue(Enumerable.Range(1, 3).Select(i => new { Prop = 7 }));

        But the equivalent using ToQueue works fine. It is fairly easy to define your own extension methods along the lines of:

        public static HashSet<T> ToHashSet<T>(this IEnumerable<T> collection)
        {
        return new HashSet<T>(collection);
        }

        But the use case is very common, so they seem…

        68 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
        • Self-hosted WCF services stack in .NET Core

          I would like to see the WCF service side being made available in the .NET core, so that we can continue developing WCF services and start targeting other platforms.

          Ultimately I would like to see the full stack including the common bindings: NetTcp, NetPipe, and maybe WsHttpBasic.

          But to cut this short, my priority lies with the self-hosting and the base classes for custom bindings. This way, the community can start implementing the various bindings on their own, while Microsoft can focus on getting the core of WCF right.

          66 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Support System.IO APIs for SkyDrive's Smart Files

            Filed on behalf of our customers.

            As described in this blog post [1], SkyDrive has a notion of smart files [2] which aren't directly accessible using the regular System.IO APIs, such as File.Open. We provided sample code [3] that shows how one can write code that handle smart files correctly.

            But to quote our customer:

            It would be helpful for Microsoft to provide a full blown solution to this which maps all key methods in System.IO such as File.Copy, File.Move etc. to their WinRT API equivalents. This issue is starting to crop up on support forums as it has caught…

            64 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 →
            • Make Task<T> implement covariant interface ITask<out T>

              Task<T> sounds like a good candidate for covariance. Except classes can't be covariant in .Net, only interfaces can.

              So it would be nice if Task<T> implemented a new, covariant interface ITask<out T>.

              I believe that adding a new interface to existing class doesn't break any backwards compatibility, so this shouldn't cause any problems.

              62 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • Modify CultureData to support PersianCalendar

                Currently, the windows OS does not return the correct Calendar for "fa-IR" culture, so anytime you create a new CultureInfo instance you end up with a wrong calendar!
                I couldn't help but notice in the .net reference source there's also a similar issue with the "zh-TW" culture which you have managed to fix when you make reference to CalendarIds property, as you can see here:
                http://referencesource.microsoft.com/#mscorlib/system/globalization/culturedata.cs,93714edd02838809

                As mentioned above there's a line of code in culturedata.cs class which fixes ""zh-TW"" culture with Calendar.CAL_TAIWAN
                I suggest you do the same with PersianCalendar (which is a built-in type within .net framework)
                I…

                61 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Make System.Web.HttpValueCollection public

                  Right now, System.Web.HttpValueCollection is internal and derives from NameValueCollection.

                  This is problematic for two reasons:
                  First, HttpUtility.ParseQueryString returns a HttpValueCollection as a NameValueCollection but because HttpValueCollection overrides ToString(), this is a source of hard to spot bugs: I can call ToString on the "NameValueCollection" returned by ParseQueryString and get a proper querystring, but calling ToString on a real NameValueCollection just returns the type name. (Unlike interfaces, returning a more derived concrete type as a base type that overrides ToString is very surprising)

                  Second, HttpValueCollection actually contains really useful functionality for creating querystrings - functionality that is useful for building URLs.

                  58 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 →
                  • Allow ExcludeFromCodeCoverageAttribute to be used on assembly level

                    It is great that code coverage analysis can be easily run from test explorer window in VS 2012. But I suppose that it is often not appropriate to analyze code in test assembly itself. I think that it well be appropriate to exclude test assemblies from code coverage totally by using ExcludeFromCodeCoverageAttribute on assembly level in those assemblies so they will not produce 'garbage' code coverage results.

                    Now it is not possible since ExcludeFromCodeCoverageAttribute cannot be used at assembly level. There are several possible targets for this attribute however, allowing for some flexibility. I think, it will be convenient to…

                    56 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • Make System.Net.Http referenced by default in new .NET 4.5 projects

                      Open Visual Studio 2013 and create a new console project or class library. By default, the project will reference System.Data, System.Data.DataSetExtensions, but not System.Net.Http.

                      This makes no sense.

                      How is it more likely that I will be working with DataSets than making HTTP requests? This is 2014, not 2004.

                      Please update the project templates to reflect the needs of programmers today.

                      55 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Update WPF to V5 by 2014

                        Can we get an update as what work is getting done on the next release of WPF from 4.5 which was released last August.

                        Want to know if I should maintain my xaml skillset or get rid of it for HTML5 and etc....

                        53 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                        • NGEN should support explicit path based assembly load

                          Please add NGEN support for Assembly.LoadFile and Assembly.LoadFrom. For more context see the blog post http://blog.bonggeek.com/2013/12/net-ngen-explicit-loads-and-load.html

                          Today NGEN images (or native image probing) is supported only in the default load context. That means any mechanism used to load assemblies from an path, e.g. using Assembly.LoadFile do not get NGEN support. For Assembly.LoadFrom it's even weirder, it sometimes work and not on other times. This makes hard to build performant large scale applications that uses loosely coupled plugins that are loaded dynamically

                          49 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                          • Add LocalDB to Clickonce automatic publishing Prerequisite

                            We need an easy way to publish an app with LocalDB. Clickonce does not currently support this as an easy prerequisite the same way it does SQL Server Express, or Compact. Developers will likely use LocalDB as a solution more if it was easier to publish. Not everyone is going to be wiling to spend 2- 5 hours researching how to hard code a bootstrap to publish LocalDB when ClickOnce does it with a check box. I think developers like myself will remain resistant to using this until Microsoft makes it easier to publish.

                            48 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • .Net Native compliler for Desktop

                              Provide the .Net Native compiler not only for Windows Store applications.

                              48 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Create [WarningAttribute] that triggers compiler warnings/errors the way [ObsoleteAttribute] does.

                                Add a [WarningAttribute] that works the same way as [ObsoleteAttribute]; it would trigger a compiler warning or error with a customized message. Ideally it would not be sealed. You could do things like:

                                [Warning("This class uses PInvoke and will prevent ARM compatibility.")]

                                [Experimental("This method has not completed Quality Assurance, and should not be used in a production environment.")]
                                This feature would be particularly useful for component creators.

                                This would be the bees' knees.

                                48 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • Add a method bool TryGetItem(TKey key, out TItem item) to a KeyedCollection<TKey, TItem> class

                                  KeyedCollection<TKey, TItem> class has an ability to fast find and return item in a list by a key. In a many scenarios is comfortably to check and get item in a single call, like IDictionary<,>::TryGetValue.

                                  This method can not be implemented outside of the class, because it need an access to protected dictionary in a KeyedCollection.

                                  My method implementation is:

                                  public bool TryGetItem(TKey key, out TItem item) {
                                  if(Dictionary != null) {
                                  return Dictionary.TryGetValue(key, out item);
                                  }//if

                                  foreach(var i in Items) {
                                  var k = GetKeyForItem(i);
                                  if(Comparer.Equals(key, k)) {
                                  item = i;
                                  return true;
                                  }//if
                                  }//for

                                  item = default(TItem);
                                  return…

                                  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…)
                                    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Objective-C compiler support in Visual Studio .NET

                                    I am a computer science student and want to try out Objective-C. It isn't always possible to get an Apple Mac to do all the objective-C programming that I am learning. Most of the time I can't get hold of my friend who has a Macintosh as he stays busy. I would like to suggest the idea of including and supporting the objectivc-c compiler in the future releases of Visual Studio .NET if possible. I understand that it is very time consuming job to get the objective-c compiler ready for a windows computer but still I keep the hope of…

                                    43 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 →
                                    • Reduce JIT time with by packaging profiles for non-win8 Store apps

                                      It is great that I can package my profiles using System.Runtime.ProfileOptimization for Win8 Store Apps (http://support.microsoft.com/kb/2715214). However we need to do it for NON-Win8 Store apps.

                                      42 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 →
                                      • Adopt dependency injetion patterns in core fx classes

                                        Many "core" framework classes (File, ConfigurationManager, ResourceManager, etc) rely on static members to provide their functionalities, making them very hard to mock without the use of isolation framework (such as Moles or TypeMock, which add their own functionality).

                                        If the framework just offered interfaces for such classes, injecting them as dependencies would be an easy task and avoid a lot of the hassle with those isolation tools.

                                        41 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 →
                                        • GeoCoordinate class included in Portable Class Library

                                          Seems like a natural fit. The title really says it all.

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

                                          Feedback and Knowledge Base