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. properly support and allow to use StackOverflowException

    Please throw the StackOverflowException when the stack contains StackMaxSize - 100 (or 256 for that matter) entries which allows normal handling of the exception.

    Imagine a user interface to define group-in-group memberships. Without considerable effort by the programmer it is easily possible to add a parent group indirectly as a child group which leads to an infinite loop.

    When I now can make make a method GetMembers(aGroup, recursive), call it after every change from within a try/catch that catches the StackOverflowException then I can provide feedback to the user, undo his last change and everything is handled proberly and without…

    1 vote
    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 →
    • Chart axis numeric type property

      Would it be possible to expand the Chart properties to allow the number format for the axis to be set as Integer/Decimal etc?

      Even if IntervalType is set to IntervalType.Number, when the numbers are small integers (from a DataTable source) we still see decimal-placed numbers in the axis. This appears to conflict with the underlying DataTable.Column.DataType.

      An example I found to illustrate this is here:
      http://stackoverflow.com/questions/4069414/visual-studio-2010-chart-control-make-y-axis-an-integer-value-not-decimal

      1 vote
      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 →
      • Include in their next release of the Silverlight runtime, the ability to retrieve Microsoft Intermediate Language (IL )offsets

        We request Microsoft include in their next release of the Silverlight runtime, the ability to retrieve Microsoft Intermediate Language (IL )offsets via System.Diagnostics.StackFrame.GetILOffset. We produce a product written in Silverlight in a growing number of installed sites. In the field we have experienced exceptions that we cannot reproduce in our development or test environments. They are intermittent problems, nevertheless, our customer’s opinion of our software takes a hit whenever these exceptions occur and our ability to use customers as a reference for further sales is jeopardized. We must fix these problems.

        To fix these problems we need to know the…

        1 vote
        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 →
        • Configure WebClient Timeout and ConnectionLimit

          Extend System.Net.WebClient to allow for the configuration of Timeout and ConnectionLimit.

          public class ConfigurableWebClient : WebClient
          {
          public int? Timeout { get; set; }
          public int? ConnectionLimit { get; set; }

          protected override WebRequest GetWebRequest(Uri address)
          {
          var baseRequest = base.GetWebRequest(address);
          var webRequest = baseRequest as HttpWebRequest;
          if (webRequest == null)
          return baseRequest;

          if (Timeout.HasValue)
          webRequest.Timeout = Timeout.Value;

          if (ConnectionLimit.HasValue)
          webRequest.ServicePoint.ConnectionLimit = ConnectionLimit.Value;

          return webRequest;
          }
          }

          1 vote
          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 →
          • Enable "using"s to be declared at the narrowest possible scope

            Like you wouldn't declare your vars at the top of your class' or method's body (anymore, bye bye, "C") but at the narrowest possible scope, the same should be possible with "using <namespace>" (in C#, other keywords apply to other languages).

            Not only would this feature solve some common problems regarding identical class names in different namespaces, but would it also bring the supposed namespace closer to a reference to it. Think of a class that deals with XML serialization from line 300 on. Still the neccessary "using" declarations would be around line 15 or such, without the 285 lines…

            1 vote
            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 vote
              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 →
              • Compile-time-checked casts

                Accessing a member of an explicitly implemented interface usually requires for the object to be cast to that interface.
                If an additional local variable is used it’s possible to make it type-safe:

                C c;
                I i = c; // implicit cast
                i.SomeMethod();

                But without the local variable it becomes type-unsafe. The following compiles no matter if C implements I or not.

                C c;
                ((I)c).SomeMethod();

                I’d find it useful if there was some kind of compile-time-checked cast.

                Possible syntax:
                C c;
                ((checked I)c).SomeMethod();
                ((I!)c).SomeMethod();

                interface I
                {
                void SomeMethod();
                }

                class C : I
                {
                void I.SomeMethod() { }
                }

                1 vote
                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 →
                • Implement some feature to get information about the exceptions an invoked method or accessed property can throw

                  Java has the cool feature that code invoking a method that could throw exceptions must either catch all potentially thrown exceptions or explicitly rethrow them. I miss a feature like that in .NET. It's a real pain to investigate which exceptions a method (or property) can throw. I do this obviously using the documentation, but this is unfortunately largely incomplete in case of exceptions, especially when exceptions could be thrown in base classes. At the end of the day we often end in catching the general Exception, but this is bad, even according to the Microsoft quality rules (FxCop).
                  It…

                  1 vote
                  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 more extensibility in the Bundling & Minification framework

                    I've found several limitations within the Bundling & Minification framework in .NET 4.5, and though I've managed (with the help of Reflector due to the lack of documentation for the System.Web.Optimization assembly) to derive my own bundles and transforms, the most recent limitation is the lack of options surroundong the media attribute in CSS <link /> tags. There's no way of setting this, nor does such an attribute get written.

                    This makes it impossible to provide one bundle for the screen and another bundle for print, which I thought was pretty standard on large-scale modern websites.

                    It's difficult to derive…

                    1 vote
                    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 use of interfaces as TypeName for ObjectDataSource

                      I have a basic ObjectRepository pattern as follows:

                      public interface IRepository<T> where T : Entity
                      {
                      T Create(T entity);
                      IEnumerable<T> Find(Expression<Func<T, bool>> expression);
                      IEnumerable<T> GetAll();
                      ...
                      }

                      It would be great to be able to use derived interfaces like the following:

                      public interface IFooRepository : IRepository<Foo>
                      {
                      // non-parameterized type for use with ObjectDataSource
                      }

                      with ObjectDataSource. At present, it is only possible to use the actual implementing class (e.g. FooRepositoryImpl) as the TypeName, since ObjectDataSource won't find the methods defined in IRepository<Foo> if the TypeName is set to IFooRepository. Directly specifying IRepository<Foo> as the TypeName is equally undesirable since…

                      1 vote
                      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 FileName to FileNotFoundException in Windows.Storage

                        Using GetFolderAsync(BaseContentFolderName) on a StorageFolder results in a FileNotFoundException.

                        Either improve the exception so that more information can be gathered from it (if there are multiple folder retrievals within the single Try block, there is no way to distinguish which call threw the error) or add a FolderNotFoundException (again, with info as to which call threw the error).

                        Note, this is also an issue for GetFileAsyc.

                        1 vote
                        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 →
                        • 1 vote
                          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 →
                          • WPF and Silverlight Parity

                            When Silverlight started, WPF was a superset of Silverlight, so if I couldn't do something in Silverlight I could always upgrade to it's big brother WPF. Now there is a bunch of stuff in Silverlight that's not available in WPF (Smooth Streaming, MultiScaleBitmap, etc.) so I end up with apps that I can't build because I need some features from WPF and some from Silverlight. Please make the next version of WPF have all the cool stuff you've added to Silverlight over the years. WPF should go back to being a superset of Silverlight.

                            1 vote
                            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 complete support for rich desktop applications (in-place activation, OLE etc.)

                              Please support rich applications in .NET. What about OLE technology, in-place activation (like the equation editor in older versions of WORD)? I miss also a commitment to a new data format to exchange visual information between programs. WMF/EMF is not supported by WPF anymore, and there is no prospect of another vector format.

                              1 vote
                              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 vote
                                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 option for AggressiveInlining in same assembly only

                                  .NET 4.5 adds AggressiveInlining but it would be much more useful if one could limit AggressiveInlining to be bound to same assembly only.

                                  This is especially useful for general purposed libraries (including .NET Framework) where same public method is used internally and exposed to the consumers.

                                  1 vote
                                  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 →
                                  • Specifically make WMV encoding a part of Media namespace

                                    I would like to encourage your developement staff to think of specifically making WMV encoding a part of Media namespace. It would improve VisualStudio.NET ! ... WMV would also gain more ground against competing video formats.

                                    Consider the following:

                                    Imports System.Media
                                    Improts System.Media.VideoIO
                                    Imports System.Media.VideoIO.WMVEncoder

                                    If you made VisualStudio.NET with WMVEncoder that will also crop video that is already in .avi, .asf, or .wmv format, the utilization would increase the popularity of VisualStudio.NET and WMV.
                                    I still use VisualStudio 2008 and Vista Business (though it is now year 2013); still works great!

                                    Microsoft making a WMVEncoding dll to import -…

                                    1 vote
                                    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 .net schema.

                                      Microsoft really needs to come up with a .net installation scheme that rolls up all previous versions (1 through 4) and updates into a single package that can be updated as needed.

                                      1 vote
                                      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 type inference for fields

                                        example:
                                        class Foo
                                        {
                                        private var customers = new List<Customer>();
                                        ...
                                        }

                                        1 vote
                                        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 void tags in Razor

                                          In Razor, if you include a void tag (one that does not need to be closed) without the trailing slash, the Razor syntax fails. For example:

                                          @if (true)
                                          {
                                          <br>
                                          }

                                          The parser fails, probably because it thinks that the br tag is still open, so it considers the close brace part of HTML, not part of Razor.

                                          But since br is a void tag, it does not need to be closed, and Razor should recognize this.

                                          1 vote
                                          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