Visual Studio IDE

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. please make app of windows support more systems like android.

    Microsoft often updates app for other system but windows. Why don't you make app on Windows better and support more more 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 →
    • Add .ToTitleCase() to String Class

      Add the method .ToTitleCase() to the String Class (or a similar one, such as .ToProperCase() or somesuch). Currently this requires pulling thread information to get the local user's culture information, and multiple extra lines of code. It would be much simpler to have an easily accessible method to capitalize the first letter of each word in a string.

      Current implementation:

      internal static string DisplayRandChar()
      {
      Character randomCharacter = new Character();

      CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;

      TextInfo textConvert = cultureInfo.TextInfo;

      string displayText = ($"You are {textConvert.ToTitleCase(randomCharacter.name)} the " +
      $"{textConvert.ToTitleCase(randomCharacter.item)}-wielding {textConvert.ToTitleCase(randomCharacter.occupation)}!");

      return displayText;
      }

      Simplified implementation:

      internal static string DisplayRandChar()
      {
      Character…

      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 ability for NAT Hole Punching

        Using some combination of STUN, TURN, ICE, WebRTC, etc... build into the .NET framework the ability for Hole Punching.

        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 →
        • Allow code within a compiled project to enumerate the conditional symbols used to build it

          While conditional symbols can alter the code generated there is no way for a compiled program to enumerate the symbols used to compile it.

          If this were possible then programs could log this information or notify administrators as to how the code was built, providing verification that the correct symbols were used for a given use case.

          Manual mechanisms could be build around the compilers, but those mechanisms might themselves become points of failure.

          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 →
          • Window-Size (UWP)

            1.)
            ApplicationView.GetForCurrentView().TryResizeView

            Why TryResizeView an not ResizeView?

            2.)
            Please allow to maximized window programmatically.

            3.)
            Please allow to lock the aspect ratio of a window (manual resizing).

            4.)
            Please allow to set the position of a window .

            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…)
                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 →
                    • btree implementation

                      It would be great to have a out of the box implementaion of aBTreeList or BTreeDictionary.

                      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 →
                                • 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 →
                                          1 2 9 11 13 19 20
                                          • Don't see your idea?

                                          Feedback and Knowledge Base