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

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 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. How about including show/hide control formatting symbols like paragraph marks to the available ApplicationCommands for the WPF RichTextBox

    Many 3rd party WPF tool vendors have added the ability to show hidden formatting tags like the paragraph marks. I would like to see this as a standard feature for the base RichTextBox control in WPF.

    5 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 →
    • Some suggestions for .NET, Midori & Singularity

      Hello,

      Recently there was a Microsoft Job advertisement, regarding Midori. They stated, they want to introduce thread safety as a language concept like type safety.
      I was thinking a lot along these lines recently and did some research of the scientific work of the ETH Zurich.
      The ETH Zurich did a lot of OS & language research in the last 20 years.
      Unfortunately, none of the advantages of a managed OS made it into a mainstream OS up to today.
      I had an idea, but probably Microsoft had this idea too. Why not implmenet the SIP's of Singularity as a…

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

        5 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 methods to SortedSet<T> and HashSet<T> to return the an item

          The SortedSet<T> and HashSet<T> classes have no way to return specific items. However, their implementations of the Contains method demonstrate that this is possible. It's quite straightforward (but not ideal) to do this with reflection. Please add Find methods to return the item in the set with a matching GetHashCode().

          5 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…)
            4 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Visual Cortana

            Technology is growing like anything. I wish to have a great feature in coming versions of visual studio. Idea is to transform user created algorithm to .Net code. Just like the control drag and drop. The system needs to be so intelligent in transforming the user idea.

            A feature like the Cortana in windows 8.1. When user asks for something cortana brings the desired results.

            Secondly I would like to have a touch version of visual studio. So that this version can be used in Windows hybrid desktop/laptop models.

            4 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 →
            • Overridable CreateElement method(like System.Xml.XmlDocument) on System.Linq.Xml.XDocument

              When we try to create a domain-specific XML document object model using Linq to XML technology, it will be useful for developpers if following overridable method were prepared on XDocument.

              public override XElement CreateElement(string prefix, string localName, string namespaceURI)

              4 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 a standard way to handle failures / retry logic

                e.g. something like this: https://gist.github.com/buu700/7633622

                (Not necessarily this class specifically, but the linked class handles both specifying a list of functions to fall back on until one succeeds, and retrying one function up to N times with optional cleanup steps in between)

                string[] strings = TryHelper.TryUntilSuccessful
                (
                () => Cache.GetStrings(),
                e => TryHelper.TryUntilSuccessful<string[], WebException>
                (
                () => WebService.RequestStrings(),
                maxAttempts: 3,
                cleanup: exception =>
                {
                Log( exception );
                Thread.Sleep( TimeSpan.FromSeconds(30) );
                }
                ),
                e => new string[] {}
                );

                4 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 →
                • 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…

                  4 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 a BindingSource Method that Triggers a Database Update

                    BindingSource should provided a method for UI code to trigger a database update using changes that have been made in user controls that are bound to a DataSet via the BindingSource. In order to maintain layer separation with the current data binding methods, developers must custom code a message between the UIL and DAL that prompts the DAL to invoke TableAdapter.Update (or violate separation and invoke TableAdapter.Update directly in the UIL...ugh). It seems to me the BindingSource should provide that mechanism itself, thereby making data binding more compatible with the objective of logical layer separation.

                    4 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 sandboxing! Allow memory usage limits for scripts.

                      The CLR allows us to run scripts with high security (so that they don't have full access to the PC) and high performance at the same time. However, in a server context one may want to run a thousand scripts written by different people at the same time. Therefore, no single untrusted script should be allowed to use a large amount of memory. .NET should provide configurable memory allocation limits on a thread/fiber. CPU time quotas are needed too, although (unlike memory quotas) perhaps it's possible to enforce CPU time limits without support from the CLR itself.

                      4 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 #Region system to CSS/js Classes like we have in Code Classes and also add links at the bottom for quick access.

                        It would be nice to have the #Region system like we have in our code classes, in css and js classes and also provide links at the bottom for quick access. Similar to what we have for aspx pages. (Design - Split - Source) But clicking the link at the bottom would take us directly to that region. (Like an anchor)

                        This would make it much easier and quicker to find what you're looking for. (Please see attached image.)

                        Thanks.

                        4 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 →
                        • 4 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 option to group Generic types

                            Every construct that will reduce the number of generic types needed to be written will significantly improve readability and maintainability.

                            I suggest to provide 'grouping' of generic types (as one can do in C++ by using templates and typedefs), something like:

                            genericsgroup TypesIntDataProvider
                            {
                            TFetchParams,
                            TResult where TResult : IEnumerable<int>
                            }

                            interface DataProvider<TypesIntDataProvider T>
                            {
                            T.TResult Fetch(T.TFetchParams fetchParams);
                            }

                            Or even crazy generics- 'genericsgroup' with implicitly inferred types:

                            genericsgroup TypesDataProvider<TItem>
                            {
                            TFetchParams,
                            TResult where TResult : IEnumerable<TItem>
                            }

                            interface DataProvider<TypesDataProvider T>
                            // I DO expect TItem to be inferred on instantiation
                            {
                            T.TResult Fetch(T.TFetchParams fetchParams);
                            }

                            Then use it like: …

                            4 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 →
                            • wildcard generic

                              Provide support for wildcard generics, akin to Java. This will prevent having to write numerous methods to support basic operations on generic types when the generic aspect of the type is irrelevant.

                              For example (this is obviously a very trivial example to demonstrate syntax alone),

                              function PrintItems(List<?> source){
                              foreach( object item in source){
                              Console.Writeline(item);
                              }
                              }

                              This becomes far more relevant in complex scenarios dealing with factories and cases where we don't neccessarily care about the generic portion of the type definition.

                              4 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…)
                                3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Make CommandTarget an inheritable attached property

                                Currently when a group of elements needs specific CommandTarget (eg. MenuItems of context menu) I have to set it explicitly on every element. It would be great if I could set it only once on common ancestor.

                                Additionally, ContextMenu could provide a shortcut in a form of boolean property to set CommandTarget to self.PlacementTarget.

                                This idea is mostly for WPF but it may apply to other XAML frameworks too.

                                4 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 a version of Silverlight for Windows Phone and Windows RT!

                                  Release a version of Silverlight for Windows Phone and Windows RT.

                                  4 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 →
                                  • XPath 2.0 support

                                    Please provide the native support for XPath 2.0 in .NET. Its a long overdue since 2007.

                                    Can we expect its support in v2012 or next?

                                    4 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 an Exception Message Box into the framework

                                      SQL Server 2005 and later provide an ExceptionMessageBox (http://technet.microsoft.com/en-us/library/ms166340.aspx) class which is useful for displaying detailed exception information. It would be nice if there was a similar dialog included in the .NET Framework or if the SQL Server dialog could be pulled into the base framework.

                                      4 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 a Contains(T) and IndexOf(T) methods of ReadOnlyCollection<T> virtual

                                        ReadOnlyCollection<> is very usable class. But, in some cases, I can implement Contains and IndexOf methods more efficiently, than provided by inner IList<>, because I can create an ReadOnlyCollection<> with some IList<> and additional data, that's provides more information for a IList<>.

                                        Now, I need to write in my derived ReadOnlyCollection<>, for example, new bool Contain(T) method an add an ICollection<T> interface in a base class list. Virtual Contain(T) and IndexOf(T) methods will be more useful.

                                        4 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 pacing and ramp down setting to conduct better load test in VS 2010 ultimate

                                          We are using VSTS 2010 ultimate for web performance testing and engineering purpose. So for conducting load test and some other trye of performance test.It is better to use if you add below setting.
                                          1. Add pacing properties for webtest to achive target
                                          2. Ramp down setting for uses aftrer competion steady state
                                          3. Constant user load for individual webtest.(% available there)
                                          4. help file for function used in coadded uI

                                          4 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