Visual Studio IDE

Announcement: This forum has been migrated to provide our customers one convenient and responsive system for all feedback. You can now suggest new ideas, browse and vote on existing ideas in the Visual Studio Developer Community. To learn more about the migration to Visual Studio Developer Community please check out the release blog post.

We’d like your suggestions and ideas to help us continuously improve future releases of Visual Studio, so we’ve partnered with UserVoice, a third-party service, to collect your feedback. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.

This site is for feature suggestions; if you need to file a bug, you can visit our Developer Community website to get started.

Note: your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy and license terms.

We look forward to hearing from you!
- The Visual Studio Team

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. Meaningfully document features

    Meaningfully document features in Microsoft development tools/libs.

    There are 94 different child pages for methods/properties of the core ASP.Net identity API UserManager<TUser> class.

    All of them appear to have a 1 line text description.

    How can one expect a developer to understand how to use it from the tool generated 1 liner text description?

    .NET File.Open has much much more documentation and it is 1 method in .net, not 94 different ones.

    Redirecting/suggesting the many outdated, partial and misleading tutorials from 3+ years ago does not help and does not substitute for actual documentation of the UserManager class.

    Asp.NET User…

    27 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • Do not hide package.json and bower.json in newest DNX projects

      In newest DNX projects, package.json and bower.json are hidden unless you hit Show All files button.

      There is a lot of people that prefer to edit this files manually instead of using the CLI or GUI, so it shouldn't be hidden like they were some kind of undesired or generated files.

      26 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • 24 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
        • Automatic conversion of C# class to TypeScript

          Automatic conversion of C# class to TypeScript

          24 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • to change Expect100Continue default value to be False

            In the current day and age, it's no longer a good idea for .NET web clients to use the Expect100Continue header by default.

            By doing so, the client is wasting an unnecessary round trip to the server instead of just sending in the entire HTTP message with headers and body.

            I would like to suggest to change the default value of Expect100Continue to be false.
            http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.expect100continue(v=vs.110).aspx

            24 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • Display full path on hover in Recent Files/Projects and TaskBar right click

              I often have several solutions with the same name. It would be really nice if the tooltip/hover displayed the full path (did this everywhere the file name appears - this is where I noticed it).

              24 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • exe.config file setting editor - allow users to change config settings at runtime

                Currently in the IDE we have a config editor which allows us to add and remove settings to the app.config file. This creates an exe.config file when the solution is built.

                However there is no way for the user to edit this file using a GUI to change the settings values. Currently they have to manually do this using notepad, which is not the best way.

                There should be a .NET feature that can be called upon to change the exe.config file and update the setting values easily from the compiled exe.

                24 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Provide more overloads to Linq to object extension methods, for conrete types like List, Arrays, etc

                  Right now most of Linq to object extensions only accept IEnumerable as a parameter. There is of course the logic, but not always, to check if it's a list or a collection and then there is also casting involved.
                  There would be a significant performance improvement (x 5-10 times) if you could provide overload based on concrete classes, which won't require any casting and avoid the use of Enumerator. More so, the users of the code will feel the benefits immediately and without having to modify any of the existing code.
                  Currently, here at McLaren, we have to re-implement the…

                  23 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Provide support for Datagram Transport Layer Security (DTLS)

                    The .NET Framework currently lacks support for Datagram Transport Layer Security (DTLS).

                    DTLS is useful for applications which require the use of unreliable, low-latency datagram transports such as UDP, where TLS would otherwise terminate the connection due to errors such as out-of-order packets. I'm sure I don't need to explain the benefits of unreliable transports for applications such as gaming, real-time communications, and media streaming. DTLS can provide authentication and encryption over insecure mediums such as the Internet for applications which require datagram transports.

                    A solution similar to SslStream for TLS would be good. Instead of wrapping a stream, the…

                    23 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • shared projects for asp.net mvc

                      ASP.Net / MVC

                      I very much like the idea of the 'Shared Project' project template.

                      It would be perfect for our team, for this way our shared views, base classes, javascript libraries, images, etc. could be stored and maintained in common Shared Projects.

                      However, in web solutions, this template is not available. Technically I can understand the problems for implementing, but it would be so nice have this feature.

                      What I think is the main problem:
                      You don't want to copy the files in the Shared Project into the web project's file stucture. That would render the whole concept useless.…

                      23 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Add support for TLS 1.3

                        Chrome 56 supports TLS 1.3.
                        Cloudflare supports TLS 1.3 (https://blog.cloudflare.com/introducing-tls-1-3/)

                        22 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                        • Please create a .NET Core Unikernel, Nano Server is too Big

                          Containers like Docker and Server OSs like Nano Server are too big and bring to much baggage. Please create an ultra tiny .NET Core Unikernel for the ultimate cloud OS. Make sure it runs perfect in Hyper-V and Xen.

                          Some background links:
                          http://research.microsoft.com/en-us/projects/drawbridge/
                          http://wiki.xenproject.org/wiki/Unikernels
                          https://www.youtube.com/watch?v=W9F4pn9Lngc
                          https://www.linux.com/news/enterprise/cloud-computing/819993-7-unikernel-projects-to-take-on-docker-in-2015

                          22 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                          • SHA-3 / FIPS 202

                            add the SHA-3 (Keccak) / FIPS 202 algorithms to .NET Framework

                            22 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • Make the .NET compilers find IDisposable abuse accurately, and make it a compiler error rather than needing to use code analysis

                              Finding leaks caused by not disposing IDisposable objects is probably one of the hardest, time consuming issues with .NET code.

                              The fact that the code analysis warning CA2000 is plagued with false detections and worse - situations that it misses entirely, means that people don't find their mistakes at compile time (when they should).

                              If the compilers found IDisposable abuses correctly (and it was a facility of the core compilers rather than having to use code analysis), it would raise the bar considerably to ensure that people write correct .NET code first time rather than having to spend man-weeks finding…

                              20 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Create a case insensitive String.Contains

                                Create an override for String.Contains that takes a StringComparison. I've added this multiple projects, and the MSDN documentation on String.Contains spends more time on explaining how to add an extension method that is case-insensitive than it does anything else: https://msdn.microsoft.com/en-us/library/dy85x1sa(v=vs.110).aspx

                                20 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • Expand LINQ methods in .NET framework

                                  Everyone has a bunch of common extension methods that they always write (or install a package which contains them). Its inexplicable why the core .NET framework still lacks so many easy-to-implement and common sense extension methods for LINQ, .

                                  Some examples:
                                  MinBy
                                  MaxBy
                                  ToHashSet
                                  ToLinkedList
                                  ToObservableCollection
                                  Prepend
                                  Append
                                  Batch
                                  MinOrDefault
                                  MaxOrDefault
                                  Versions of Except and Intersect that work on sequences rather than sets (because the existing methods think of the IEnumerables as sets, duplicates are eliminated whether you like it or not, this is fine for some situations, but not all)

                                  20 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                  • create better reporting when a dependency could not be found

                                    I work with late-bound assemblies all the time and one thing that has annoyed me since the inception of .NET is the lack of information when failing to load a referenced assembly. I constantly get the "X.dll or one of its dependencies was not found."

                                    You know what assembly you were looking for so log more information please! Many times this error is caused by some reference of a reference and can only be solved by attaching to the assembly resolver or using some 3rd party file watcher to see what files the application is attempting to load.

                                    20 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                    • .NET Native for Android and iOS

                                      Visual Studio already has support for C++ Android apps, and it would be great if those apps could use C# and .NET Core, which - with the use of .NET Native - would compile into native code that runs on Android. A similar solution for iOS would also be a great idea, though I realise this might be a more difficult thing to implement.

                                      20 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                      • TestRunParameters with CodedUI

                                        Add support for TestRunParameters with CodedUI tests.

                                        19 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Keeping tests close to the code by keeping a *.test file packaged with the *.cs file

                                          I'm sure this has been suggested one way or the other but here goes anyway. How about adding a *.test file with a *.cs file packaged the same way WPF package a *.xaml and *.xaml.cs file together? That way your tests are close to the code

                                          19 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →

                                          Feedback and Knowledge Base