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. Add non-generic base class to TaskCompletionSource<T>

    The TaskCompletionSource<T> class should have a non-generic base class that would implement the methods that are currently in TaskCompletionSource<T> and which don't operate on the result type.

    Specifically these are: SetCanceled, SetException, TrySetCanceled, and TrySetException.

    This would allow for canceling/failing a diverse collection of TaskCompletionSource objects without needing to know what the result type should have been.

    9 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 →
    • Generate a new connection for each SMO database rather than using the connection in the SMO server of the Parent SMO database property

      When a SMO database object needs to query the real targeted database, it uses the connection in the SMO server object of the Parent SMO database property and prefixes the query with a "USE [databaseName]" statement. When you use multiple SMO database objects coming from the same SMO server object, the connection is always switching from a database to another slowing down dramatically the performance.

      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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • Visual Studio Cross-Platform Build Tools (IOS - Android - Mac - ... )

        Visual Studio Cross-Platform Build Tools (IOS - Android - Mac - ... )

        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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
        • Allow non-primitive types for WCF Data Service service operations.

          http://msdn.microsoft.com/en-us/library/cc668788.aspx states:
          "If parameters are defined, the type of each parameter must be a primitive type. Any data of a non-primitive type must be serialized and passed into a string parameter."

          It would be really useful to be able to pass through non-primitive types into service operations, manually deserializing non-primitive types as a workaround is quite messy as support has to be added for both JSON and XML formats (to keep it consistent with the rest of the API). Something similar to MVC model binding would make this painless.

          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…)
            1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Open Source LINQ to SQL

            Microsoft accidentally developed LINQ to SQL and Entity Framework side by side. LINQ to SQL was discontinued.

            Many companies are now stranded with LINQ to SQL. Switching to EF still is not easy because L2S was so awesome that EF still has not caught up.

            There are dozens of small and large incompatibilities.

            Leaving customers stranded is not normally done by Microsoft. Please invest the resources required to open source LINQ to SQL so that the community can fix bugs and add sorely missing features.

            I'm sure the community will stand up and appoint voluntee project leaders. L2S is still…

            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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • TaskFactory.ContinueWhenAll should not throw ArgumentException when passed an empty array of Tasks

              TaskFactory.ContinueWhenAll is used to execute a subsequent Task when a group of required precedent Tasks are all completed. The set of precedent Tasks may be computed dynamically, and there may be none: in such a situation, TaskFactory should immediately start the subsequent Task rather than throw.

              Compare with e.g. Enumerable.All: this returns true when passed an empty sequence.

              In both cases, having no requirements isn't necessarily exceptional, and in both cases there's a clearly sensible behavior that could occur, so no Exception should be thrown.

              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…)
                1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • Provide a GC that can cope with very large heaps

                Provide a GC that can cope with very large heaps with lots of live objects while keeping a service responsive.

                Now that we can reasonably have a server with 1TB of RAM, we should be able to cope with something like 700GB of LIVE objects in a single .NET process without the GC stopping the process for more than a faction of a second when doing a collection.

                I don’t like having to use MemCache etc, just because the .net GC is not good at coping with large heaps. Can we have something like the Pauseless GC from Azul Systems?…

                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…)
                  1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Provide Entity Framework Provider Factory

                  Provide an Entity Framework Factory similar to the ADO.Net Provider which allows easy swapping between different Entity Framework models such as SQL Server, Oracle, MySQL, DB2 etc. simply by providing the appropriate database provider information in a manner similar to the current ADO.Net Database Provider Factory.

                  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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Overload methods with Generic Type Parameters which require typeof(SomeClass)

                    There are many methods available in .NET:
                    (PriceEnum)Enum.Parse(typeof(PriceEnum), stringValue);

                    Instead of using typeof(PriceEnum) (and casting it to the correct enum)

                    A much more prettier approach is by using the following syntax for example:

                    Enum.Parse<PriceEnum>(stringValue);

                    This calls out for all types of methods which require typeof(SomeClass)

                    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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • Include .NET 3.5 in the Windows server 2012 distribution

                      The Windows 8 and Windows 2012 OS images don't come with .NET 3.5. it can be installed as a role, but only if you have internet access from your server. You can't install the standalone distribution of .NET 3.5 - you can only install it via Windows update.

                      I know it's now been replaced by .NET 4 but many Microsoft products need ASP.NET 3.5 as a prerequisite. Not having it in the OS installation - but treating it as an operating system component that mist be installed via Windows Update makes it extremely difficult to setup a server that doesn't…

                      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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Entity Framework Data Model Could Generate Navigation Properties For Existing Alternate Keys

                        When updating data model from database, Entities should also retrieve foreign key constraints defined on alternate keys, not only on primary keys. This kind of constraints shoud be tranlated to navitation properties. A lot of legacy databases use this feature and can't be changed on production systems.

                        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…)
                          2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                        • Learn from Smalltalk, the most productive and easy-to-learn programming environment

                          The dynamic language runtime should be extended to support block closures and other truly dynamic language features.

                          All of the really useful advances in C# and Java, over C++, come from features Smalltalk has had for years. Examples include garbage collection, mature class library with re-useable generic code (e.g Collections, Dictionaries...). It comes down to "the right tool for the job." C++ has it's place, like Assembly has its place.

                          Steve Jobs first saw the mouse and windows on a screen at Xerox Palo Alto and got the idea for the Lisa (which became the Mac). That was Smalltalk he…

                          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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                          • to provide a razor editor that can be used on OSX machines

                            Dear Microsoft:

                            Thank you very much for all the effort you have been puttin into providing the development community with great tools. I have been using Visual Studio and team foundation service and I love it. It has changed the way I do things. There is still something missing. I work with a group of Open Source entusiasts. Most of them have mac computers. As a matter of fact, I still have not worked with any interface designer that does not own a Mac. I keep trying to make them move to .Net. Azure and TF service are great incentives…

                            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…)
                              2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • Add ability to sort collection by property value using linq lambda expression

                              Allow us to sort a collection using lambda.
                              Currently the list.sort method works ok for list of string or ints.
                              But it is not flexible for a custom object e.g customer.
                              Please allow the following syntax to sort by the specific property values

                              e.g. C#
                              customers.Sort(customer => customer.FirstName, customer.LastName)

                              VB.NET
                              customers.Sort(function(customer) customer.FirstName, customer.LastName

                              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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Better PC speeching with more localized voices (Italian too!)

                                Now there is a problem to find localized voices in Italian for PC speeching.
                                I think it's a good idea to implement the speech functions in the .NET Framework and insert more and more localized voices in VS resources.

                                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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • add new words to linq, first, take, skip

                                  add new words to linq to do some like this

                                  from i in entityset
                                  skip 10
                                  select first
                                  or

                                  from i in entityset
                                  skip 100
                                  select 10

                                  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…)
                                    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                  • improve the documentation of system.net.httplistenertimeoutmanager

                                    1 - for some of the settings, it is not clear what happens if the timeout gets violated.
                                    2- what is the guidance for changing these settings?
                                    3 - what happens if these are set too low or too high?

                                    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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Support HSB Colors Better

                                      In many programs I make I like to have a good UI, and the best way to do this is by using HSB or HSL colors which can be easily modified to produce colors that look great together.

                                      Constantly, I am finding that I am having to creating my own custom ColorX class but it doesn't flow well with already existing .NET classes.

                                      I am asking for things like:
                                      Color.FromAhsl(alpha, hue, sat, lum)
                                      Color.H
                                      Color.S
                                      Color.L

                                      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…)
                                        1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Entity Framework Update Wizard: Allow entities to be excluded

                                        I'd like to be able to mark some store entities so that they aren't updated with the rest of the entities when the Update Wizard is run.

                                        This would be useful in situations where custom changes are made to an EDMX file that the designer does not support. Users would be able to make custom changes to some entities, while maintaining the ability to keep the rest of them automatically in sync with the database.

                                        In my particular case, I want to use a DefiningQuery directly against tables instead of going through views. The Entity Framework itself doesn't have a…

                                        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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Allow side by side installation of .NET 4.0 with 4.5.

                                          Upgrades are always welcome. They are also risky. The recent update of .NET framework 4.0 to 4.5 added some nice features, but also some notable bugs. The ability to specifically target a framework is essential for stability.

                                          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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                          1 2 9 11 13 28 29
                                          • Don't see your idea?

                                          Feedback and Knowledge Base