Visual Studio 2015

Welcome to the Visual Studio 2015 UserVoice site. This site is for suggestions and ideas for the IDE of Visual Studio (Community, Professional or Enterprise). You can also add suggestions for Team Services or Visual Studio Code. Or go to Connect to file a bug.

We also added an Announcements section where we will be posting special opportunities for you to participate in.

Read about current UserVoice statuses and their definitions in our article “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. 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 →
      • 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 →
        • Guid Literals or a compile time GuidStringValidationAttribute

          Create in both VB and C# Guid literals so that we can create GUID const.

          Guid is so hard baked into .net that it makes very little sense that we can't use them in Attributes.

          Please either create a GUID literal or an attribute to signal to the compiler that a const string should be parsable to a Guid.

          The fact that there already exists a GuidAttribute shows that at a low level .net needs support for Guids.

          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 →
            • Provide Intellisense for ConfigurationManager keys stored in .config files

              Provide Intellisense for ConfigurationManager keys stored in Web.config or App.config files.
              For example, if there is a connectionString element with a key named "MyConnectionString" defined in the Web.config or App.config file for a Visual Studio project, it would be great if Visual Studio could automatically present Intellisense options for these available keys while typing ConfigurationManager.ConnectionStrings or any other common ConfigurationManager settings such as ConfigurationManager.AppSettings etc.

              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 comparable class to WPF, System.Windows.Forms.Screen

                When using WPF, I try to avoid referencing Win Forms. However, some functionality I am looking for exists in Win Forms and not in WPF. System.Windows.Forms.Screen class is a great example of functionality missing from WPF. In particular, the ability to get the working area for the active display is paramount.

                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 →
                • TimeSpan multiplication

                  TimeSpan supports some very useful operators, like addition with another TimeSpan or addition with DateTime, so you can do something like

                  TimeSpan ts1 = …, ts2 = …;
                  TimeSpan sum = ts1 + ts2;

                  I think it would be very useful, if it also supported multiplication by an integer, so something like this would work too:

                  TimeSpan sum = ts1 + 2 * ts2;

                  Currently, one has to use workarounds such as:

                  TimeSpan sum = ts1 + TimeSpan.FromSeconds(2 * ts2.TotalSeconds);

                  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 →
                  • Support HSB Colors Better

                    In many programs I make I like to have a good UI, and the best way to do this is by using HSB or HSL colors which can be easily modified to produce colors that look great together.

                    Constantly, I am finding that I am having to creating my own custom ColorX class but it doesn't flow well with already existing .NET classes.

                    I am asking for things like:
                    Color.FromAhsl(alpha, hue, sat, lum)
                    Color.H
                    Color.S
                    Color.L

                    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 →
                      • Allow apps to attach HttpMessageHandlers to HttpClient objects created in a referenced library

                        Scenario:

                        1. Developer writes app A and references library B.
                        2. Library B creates an HttpClient object on behalf of the app and uses it to send HTTP requests and receive responses.
                        3. App A must have the ability to inspect, log, modify or trace HTTP requests and responses made by C.

                        This is not possible today since HttpMessageHandler objects can only be added to an HttpClient object created in the same scope.

                        This idea is to:
                        Add an API to allow adding an HttpMessageHandler to an HttpClient object created within a referenced library.

                        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 →
                        • Change the default behaviour of ServicePointManager.SecurityProtocols to use TLS 1.2

                          Recent vulnerabilities in SSL 3.0 and TLS 1.0 and PCI-DSS 3.1 which is mandating disabling TLS 1.0 means that the default behaviour of the System.Net.ServicePointManager.SecurityProtocol to use SS3.0 and TLS 1.0 is now longer appropriate and can be considered insecure.

                          The default should be to use the most secure version that the server supports, currently TLS 1.2 on Windows 2012 and 2012 R2.

                          In addition, this property should be settable globally in configuration rather than having to modify each individual application to override the setting.

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

                            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 →
                            • System.Web.UI.IValidator interface: Add ValidationGroup property

                              Unluckily IValidator interface does not define the ValidationGroup property, which is instead defined as a member of BaseValidator class from which all validators derive (there is a not so clean separation between interface and implementation).

                              If you would like to define a custom validator (without using the basic behaviour provided by BaseValidator class), you can easily do that by implementing the IValidator interface, unluckily in this way you lose the possibility of performing validation in validation groups. This because there is no ValidationGroup in the IValidator interface and the Page class, which handles "validation groups" on postbacks through Validate (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…)
                                0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                              • Silverlight - multiple ui threads

                                One UI thread is not enough. There have been multiple instances where during a long-running, non-interruptible UI operation (like loading a child window for the first time) we cannot show any animation (eg: intermediate progress bar).

                                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 →
                                • Please support multiple DataSource for the Unit Tests.

                                  MSTest support multiple dataSourcer for the Unit Tests.

                                  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 →
                                  • WaitHandle.WaitAll working with more than 64 waithandles

                                    WaitHandle.WaitAll(waithandles[]) fails if more than 64 handles are specified. Can this be enhanced so that if any limitation in the Win32 API, the .NET API handles it internally? e.g., even is 200 handles are passed in to WaitHandle.WaitAll(), can the .NET implementation internally split it into multiple arrays and do whatever it has to.

                                    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 →
                                    • windows service debugger

                                      Window Service Debugger

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

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

                                          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