Visual Studio

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, visit the Visual Studio Connect site: http://connect.microsoft.com/visualstudio.

ASP.NET Runtime/Web Tooling suggestions have moved! All your ideas, including your votes, have been transferred and are searchable in the ASP.Net Uservoice forum. Please submit any new ASP.NET Runtime/Web Tooling suggestions, or vote on existing suggestions by going to http://aspnet.uservoice.com.

We look forward to hearing from you!

Thanks – Deon Herbert
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 vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  1. TextBox control and String class - enhancements

    In the
    .NET Framework,
    System.Windows.Forms namespace,
    TextBox class.
    Methods:
    GetFirstCharIndexFromLine,
    GetFirstCharIndexOfCurrentLine,
    GetLineFromCharIndex,
    (the only methods referring lines) refers to the lines as it can be seen in the control when the text is wrapped or not, by the time that TextBox.Lines property and array refer to the true lines as there are generated by the line feed and carriage return sequence. There are no methods referring to the true lines and there is no property like TextBox.Lines but to refer to the wrapped lines
    Of course the class still provides enough informations to build custom methods but is more complicated…

    2 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 →
    • Backport the new reflection API's in WinRT/.Net45 to older platforms (WP7.5, SL, .Net40), to create a unified experience.

      By adding the new reflection API's to the older platforms you create a unified experience which is less confusing then the current one, especially for Portable Libraries.
      It also makes it easier to write platform specific code that is not yet portable and link the files.
      Also, in this way the direction for reflection is clear and people can get used to the new API's.

      2 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 virtual "IsResolved" property to Exception class

        The existing .net exception mechanism attempts to convey for somewhat orthogonal pieces of information into the "type" of a thrown exception:

        -1- What happened?

        -2- What information is available about the problem?

        -3- What error-handling code should be run?

        -4- At what stage should the problem be considered "resolved"?

        Unfortunately, an exception hierarchy which is arranged effectively to answer one of these questions will often be unhelpful at trying to handle the rest. In particular #4 is often one of the most important questions, but the existing exception hierarchy provides absolutely no guidance. Later versions of .net have added special…

        2 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 report Viewer control in WPF Application

          use as in Windows application

          2 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 links in the TODO: remarks area when Classes are autogenerated to web pages that give examples/tutorials about what is being suggested t

            When Ria Services are autogenerated, there are quite a lot of useful comments with TODO suggestions. As a newbie to Silverlight and Ria Services, it would be helpful if there were also links to sites that provide more information on how to do what is suggested needs to be done.

            2 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 →
            • Provide native .Net library to replace WININET.dll

              Provide a native .Net class library to replace WININET.dll. Currently, retrieving HttpOnly cookies can only be made via WININET.dll which additionally has a dependency on Internet Explorer 8 and above. Retrieving the FedAuth Cookie is a common operation for Claims-based SharePoint development, therefore, this functionality should be built directly into the .Net Framework class libraries.

              2 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 need for Interop

                Managed .net support for: IStorage (MSG-Files), DragDrop(complete incl. MSG-Files), Clipboard(complete!), Sound, Ribbons, Floating/Dockable Toolbars with customizable customization dialog, Docking, Tabbed MDI, TAPI, CAPI, MAPI, Aero-Design (gradients, Colors...) and so on, of course implemented in libs also beginning up from 3.5 to 4.0!!

                2 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 →
                • New method on System.DirectoryServices.DirectoryEntry: GetDomain()

                  For some time now I've been looking for a builtin method or property in the System.DirectoryServices namespace that can provide me with a System.DirectoryServices.ActiveDirectory.Domain object from a DirectoryEntry.

                  I've built some cmdlets for Powershell that creates a DirectoryEntry with optional credentials, and I would like to have a way to create a Domain object from that DirectoryEntry with the same credentials used in the DirectoryEntry constructor, without actually knowing them. This makes it easier to pass those credentials along if you, for instance, need to connect to the schema with System.DirectoryServices.ActiveDirectory.ActiveDirectorySchema: all you need to do is use GetDomain().Forest.Schema on…

                  2 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 →
                  • INumber for basic number types

                    The datatypes Byte, Decimal, Double, Integer, Long, Short, and Single should implement a new interface INumber, where common functionality like addition, substraction, multiplication and division is exposed.

                    This will allow the easy implementation of classes that needs that functionality like typed matrix classes:

                    public class Matrix<T>
                    where T: INumber
                    {
                    Matrix<T> Add(T scalar);
                    Matrix<T> Add(Matrix<T> matrix);
                    ...
                    }

                    The current approach forces the developer to implement the matrix class multiple times.

                    2 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 →
                    • Intorduce new attribute to restrict assigning any non-defined values to enums

                      Introduce an attribute (let's say StrictEnumAttribute), which will restrict assigning non-explicitly defined values to enums. So currently the following is possible:

                      internal enum Features
                      {
                      FirstFeature, SecondFeature
                      }

                      public void DoSomething(ref Features argFeature)
                      {
                      argFeature = (Feature)5;
                      }

                      I'd like by marking the Feature enum with StrictEnumAttribuet that conversion to fail during compilation.

                      2 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 More Windows API Definitions for Windows

                        Please add a class for external windows like http://www.vbforums.com/showthread.php?t=644071&highlight=Window
                        This would be very useful if it Contained ALL Windows Api Functions related to windows.

                        2 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 →
                        • floating-point division by zero should result in NaN

                          The datatypes float and double return Infinity when a value is divided by zero. Mathematically this is not correct, and it is also a violation of the IEEE 754-2008 Standard for Floating-Point Arithmetic.

                          Given 'a/b', with a and b equals 0, the solution is the whole set of the real numbers and thus not determined. The result should be 'NaN' (Not a Number) in that case.

                          When 'a' is not equal zero, the result is not determined and an DivideByZeroException exception should be raised.

                          The correct behavior can be ensured by extension methods that overrides the Div (Division) methods, which…

                          2 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 .net libaries re-usable in silverlight with no change.

                            Make .net libaries re-usable in silverlight with no change. At this time we have to use file linking and other tricks. It will be nice to make it re-usable by directly refering .net projects in silverlight.

                            2 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 →
                            • Allow WCF configuration data <system.serviceModel> to be read from an alternate config file

                              When I'm writing a plugin DLL for a Windows service that DLL often has to call a WCF service application.

                              I can easily reference that DLL's <appSettings> section, but I haven't found any means to alter the executing code's config file source for the WCF service. (That data would have to be copied into the host service's config, which is not ideal)

                              Ideally, there should be a way to have the executing assembly to be able to use either the host's config file (Host.exe.config), or the plugin's (Plugin.dll.config)

                              2 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 word document class better and more usable

                                In actual version of .NET there's one class to create word documents, but it's so confused and slow. I think that creation of new and better version of this class will beneficial for programmers.

                                2 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 →
                                • Event Origin

                                  Listeners of UI events such as click, selected index changed, text changed, etc should be capable of discerning if the particular event was raised as a result of a hardware interrupt such as a keyboard or mouse input as opposed to resulting from a coded change of property (EG: comboBox.SelectedIndex = -1).

                                  This information could be stored in the EventArgs,
                                  EG:
                                  private void Text1_TextChanged(object sender, EventArgs args)
                                  {
                                  var originalSender = args.MessageInterupt.Sender as Control;
                                  if(originalSender == null || "text1" != originalSender.Name){
                                  MsgBox.Show("text changed by code");
                                  return;
                                  }
                                  MsgBox.Show("text changed by user");
                                  }

                                  2 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 SecureString overloads/methods to the ProtectedData class

                                    To use ProtectedData.Protect to encrypt a SecureString instance, the instance first needs to be converted to a byte array which defeats the purpose of using the SecureString class.

                                    Please add an overload to Protect that accepts a SecureString instance instead of a byte array. A new Unprotect method will also need to be added that returns a SecureString.

                                    2 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 →
                                    • StringBuilder.AppendLineFormat

                                      It would be great if the StringBuilder class had a AppendLineFormat, so you don't have to escape newline/carriage return, call multiple methods or use String.Format for archieving the same.

                                      Sounds like a simple and quick change to implement

                                      2 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 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.

                                        2 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 Code First

                                          Hello,
                                          I would like to request some feature which can really boost performance for small and large projects. It would be great to have a method like context.Translate<entity>(reader, ...)
                                          that accepts a reader. I know CF supports raw SQL, but it does not support multiple result sets, not even with RAW SQL. For example, let's say I want to load 10 authors, their top 10 books, and the books best 10 users. Currently in CF, there is no way to filter related entities like this case, so we need multiple round trips to the DB to achieve this. However, with…

                                          2 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