Visual Studio 2015

Welcome to the Visual Studio UserVoice site. Let us know what you would like to see in future versions of the Visual Studio suite of products. This site is for suggestions and ideas. If you need to file a bug, you can visit our Developer Community website to get started. 

For suggestions for improvements to other developer products, see these sites:

To review the current UserVoice statuses and their definitions, please review our “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. 3 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • Release .NET Framework 4.6 full installer to Windows Server Update Services

      Currently you have released all versions of .NET Framework 4.x full install to WSUS with the exception 4.6 and as an enterprise that uses WSUS we would like to have an update that we can deploy that will install 4.6 into applicable environments that don't have it.

      3 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • 3 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
        • Add ToStringInvariant() and String.FormatInvariant() to the BCL

          When writing culture-insensitive code you must be careful to ensure you explicitly specify `CultureInfo.InvariantCulture` as the `IFormatProvider` parameter for `ToString(IFormatProvider)` and `String.Format(IFormatProvider, format, args)`.

          This becomes frustrating because `System.Globalization` is not in the default imports list, and the syntax is unnecessarily verbose.

          Adding extra methods that implicitly provide Culture-invariant formatting would make .NET code more concise.

          3 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • 3 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • ProcessStartInfo should offer an ArgumentsArray property

              The fact that ProcessStartInfo.Arguments is a string is a major design mistake; it should have been an array. By making it a string, anyone who wants to pass arbitrary filenames to another process has to go through an error-prone process of quoting those filenames to make sure they don't contain spaces, or quote characters, or other characters that could be misinterpreted. There are many, MANY ways to get this wrong, and a quick Google search on the Internet will find lots of advice (and sample code) on how to quote your arguments -- and most of it is WRONG, and…

              3 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
              • Marshal Nullable<T> as T*

                A common problem I've encountered in native/managed interop is when the native function takes, or returns, pointers to types. Consider the following COM function prototype:

                HRESULT DoThing (int** param1, GUID* param2, int** outval);

                C#, and .NET in general, is really awful at handling this. The basic ComImport function would be

                IntPtr DoThing (IntPtr param1, ref Guid param2);

                Obviously, this is flawed. You can't handle param1 or the return value without manually using the Marshal class, and you can't pass null to param2. For P/Invoke you can get around the param2 issue by creating an overload of the function that takes…

                3 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • 3 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Open Source Virtual OS supporting .Net App run on Android/Windows/Iphone Tablets

                    A FirmWare which support Usb/Wifi enabled Keyboard/Screen in Tablets/Smartphone so that we can give extra interactions to user with the device
                    And with a Virtual OS which support .Net Application to Run on Android/Iphone Devices which can exploit independent Platform Approach

                    3 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • Improve trace logging with System.Diagnostics

                      Tracing with System.Diagnostics could be a lot better compared to other logging frameworks. I would really like to see the following improvements:

                      * Hierarchical logging. Having a TraceSource for each class would be great - but is currently not practical as each TraceSource needs separate configuration in the app.config file. It should be possible to configure all trace sources by the root TraceSource. When needed it should be possible to override the configuration for selected children and branches in the logging hierarchy.

                      * Exception logging. Today it is only possible to trace strings. But a proper framework should also know…

                      3 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Additional special access level for nesting and nested types

                        There is no special access level that allows nesting types to exclusively access nesting types and vice versa. This limits usefulness of nested types. It seems that the whole idea of having nested class is to provide special way of "communications" between nesting and nested classes in a way not accessible from/by outside "world".

                        Let's say that we have two more access levels:

                        - ForNesting - allows access from inside the type and also from the nesting type (including from more than one level up). Should be applicable to, at least, Procedures, Properties and Member Variables, and also to Constructors.…

                        3 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                        • Provide a public API for writing EML files

                          Currently there is no API for generating EML files to stream, even though .NET supports such file generation through the System.Net.Mail.SmtpClient class.

                          It would be nice to see a public API for consuming the functionality provided in the currently non-public System.Net.Mail.MailWriter class, as described being accessed through reflection here: http://www.codeproject.com/kb/ip/smtpclientext.aspx?msg=2876295

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

                            I just received a log captured on a server running in a foreign country and the file is completely useless. I don't understand what the framework is trying to tell me.

                            As "developing" is a universal process everywhere around the world exceptions should never get translated by default. This would make it possible to fix problems without having to call someone to translate the errormessages.

                            3 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • System & external apps so closed

                              I would like to see a procedure to deal with systemtray Items and can read jumplist for another apps. you are very closed system units like taskbar.
                              I want to make a huge replacement to system I have new ideas for future pc operating systems

                              3 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Deprecate, move, or integrate System.Buffer

                                The only time anyone remembers System.Buffer exists is when we try to make a class with this common name and find the conflict. All of the System namespace's classes should be vital to most programs, and it should avoid conflicts with common names. System.Buffer very much does not fit any of those criteria.

                                I think it could be outright deprecated and later removed with little ill effect. System.Runtime.InteropServices.Marshal does everything it does so far as I know, and it does it better.

                                3 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • Review System.Collections.Generic to add missing methods to prevent double or inefficient search (ex: Dictionary<T,V> TryAdd, HashSet<T>)

                                  While extension methods are great and allow to adds the missing methods.
                                  There are some cases where you would like to not have a performance penalty.
                                  Ex:
                                  Dictionary.TryAdd => (ContainsKey, Add) 2 search
                                  Dictionary.TryRemove => (ContainsKey, Remove) 2 search
                                  HashSet.TryGetItem => enumeration instead of hash search
                                  HashSet.Replace => (Remove, Add) 2 search

                                  I'm also convinced that depending on the size of the collection, alternate search strategies could be used.

                                  3 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                  • WPF Control Disposing

                                    It is a pain to use things like Images / ImageSources / Brushes in WPF as you can't easily dispose them. Not even the Bitmap class can be disposed anymore. Memory management is getting really complicated as it's unclear why memory remains in use after you close a window / unload a page for example. Images do not free their underlying stream, keep a handle on the file.

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

                                      wonderful!wonderful!wonderful!wonderful!wonderful!wonderful!wonderful!wonderful!wonderful!wonderful!

                                      3 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Add EDMX designer support for Entity Framework 7

                                        Many people will miss that feature in upcoming EF. Please add edmx designer based workflow.

                                        3 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • 编译成本机码建议

                                          希望不要只增加开发语言和工具,看似强大的IDE环境,实际上显得很臃肿。不应仅关注IDE环境的强大功能,应该还要考虑程序的运行效率。因此,强烈要求在下一个版本,支持用VB,C#语言开发的桌面应用,编译成本机代码,这是所有程序员最希望看到的功能,而你们一直没有实现,导致大部分程序员在用C#开发CS模式的软件时非常困惑,因为程序的运行效率太低,而采用代码混淆的方式保护代码的安全性实在太鸡肋。真搞不懂,支持编译成本机代码,是一项很重要且极具竞争力的功能,你们怎么一直都没有提供。C++都支持编译成本机代码难道C#不支持吗?希望你们不要再固执而找种种理由,迟早会为此付出惨重的代价,导致中国的开发人员不得不抛弃你们的IDE而使用其它的开发环境,开发机遇桌面的应用。

                                          3 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base