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. Implement an overload constructor for URI, which accepts two strings.

    I find myself often writing something like this, when I'm working with URI's:

    string host = "http://host.com/"; // Or some other host
    string page = "folder/page.html"; // Or some other page - f.ex. a crawler
    Uri targetUri = new Uri(new Uri(host), page);

    This is because Uri doesn't have a constructor that takes two strings and does this for me. I'd like for URI to have a new constructor, which can take two strings, and basically do the above (or something smarter).

    3 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • Integrate tfspreview.com with codeplex.com

      Good idea is integrate codeplex.com services with tfspreview.com tfs services.
      Developer can store code in tfspreview.com and you can decide which is visible to everyone (your own license), which one is open source and public on codeplex.com, and which one is private.

      32 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
      • Windows Forms Application for c++?

        I just downloaded MS VS2012 Express. I see VS and CS projects for Windows Forms but not C++. I don't see how the C++ Winform problem has been solved.

        6 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  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
        • IntelliTrace - Add Support for Oracle ADO.NET events

          IntelliTrace - Add Support for Oracle ADO.NET events

          8 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  ·  Debugger  ·  Flag idea as inappropriate…  ·  Admin →
          • Use the build retention policy to determine the build global list

            As a tester I want to be able to select the build currently in my environment as the 'Found In' value for a new bug so that I can report bugs against the correct build that they were found in.

            Details

            The current algorithm for populating the build global list appears to be the 10 most recent succeeded builds per definition. This ignores retained builds that may be progressing through an environment chain, and creates an inability to effectively use the 'Found In' field in a work item.

            I suggest it uses the data as specified by the build retention…

            8 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
            • Add a way to override "keep items checked out when checking in" during check in process

              By clicking the "keep items checked out when checking in" checkbox at Tools>Options>source control>environment, you can have TFS keep the files that you are checking in checked out. there should be a way to override this setting when doing a check in. Here are some possible ways to do it: a button or checkbox in the pending changes screen. Pressing shift (or some other button) while clicking the check in button.

              24 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
              • Please have generic constraint for { class or Nullable struct }

                Most of the time we just want to make a generic that can support both class and struct. And want to return null to tell that the value is missing

                So the best solution is to treat nullable struct equally to class
                We may have keyword nullable to constraint generic like this

                public class Indexer<nullable> { public this[int i] { get { return null; } } }
                ...
                Indexer<object> objs;
                Indexer<int?> ints;

                0 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  ·  Flag idea as inappropriate…  ·  Admin →
                • better battery life, please!

                  Better battery life (especially Windows Phone Samsung Omnia W) and support Flash player into Internet Explorer mobile.

                  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  ·  Phone  ·  Flag idea as inappropriate…  ·  Admin →
                  • Creating WSPs with hosted build agents from TFSPreview

                    TFSPreview is able to build SharePoint components using the hosted build agents. In fact you aren't able to create WSPs. When using OnPremise Build Agents I can pass /p:IsPackaging=true as MSBuild argument.

                    When doing so with an hosted build agent, you receive the following exception for each SharePoint project sitting in your solution.

                    C:\...\Microsoft.VisualStudio.SharePoint.targets(411,5):error: Illegal characters in path.

                    But in fact the path looks good.

                    3 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                    • UI is very hard to find what I need.

                      The UI is awful. Where is the option to turn it back one version?

                      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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                      • Allow access to raw load test data

                        I would like to be able to access the raw counter data in the DB after a load test has completed. Trying to access all the raw data through the exports is extremely painful. Please allow storing the values in the DB as just basic format something like the following:

                        CREATE TABLE [dbo].[counter_data](
                        [value] [numeric] NOT NULL,
                        [hostname] [nvarchar](max) NOT NULL,
                        [counter_name] [nvarchar](max) NOT NULL,
                        [counter_instance] [nvarchar](max) NOT NULL
                        ) ON [PRIMARY]

                        or at least allow exporting of all values at once in to XML.

                        3 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          0 comments  ·  Visual Studio Ultimate  ·  Flag idea as inappropriate…  ·  Admin →
                        • Allow custom raise accessor of events in C#

                          Currently, if you implement custom add/remove event accessors, you loose the ability to raise this event without using an external method.
                          There should be an ability to implement custom raise accessor. Other .NET languages like VB.NET and C++/CLI already support this.

                          public event SomeDelegate MyEvent
                          {
                          add
                          {
                          // add a delegate
                          }
                          remove
                          {
                          // remove a delegate
                          }
                          raise
                          {
                          // raise the event - NOT POSSIBLE
                          }
                          }

                          16 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                          • mouse cursor changes direction

                            The mouse cursor changes to an odd arrow when hovering over the expand/collapse signs in the code editor.

                            It's odd because instead of pointing towards the top left, it points towards the top right.

                            This isn't expected behavior and isn't how the cursor works anywhere else within VS2012. On ALL OTHER expansion items it is the normal cursor that points towards the top left. On this ONE SPOT it is backwards.

                            22 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…)
                              5 comments  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
                            • 13 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  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
                              • Labels for "Find Text" Validation Rules

                                From my point of view it would be great to have a feature to manage labels for the "Validation Rules" in the IDE in order to locate quickly a rule to edit.

                                Please find a screenshot attached to understand better what I mean.

                                Thanks.

                                Regards.

                                3 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
                                • A method to delete all files from a directory passing a pattern as parameter.

                                  I think it'd be useful to have a method to delete all files from a directory passing a pattern as parameter, so you don't have to build a bucle and delete each one.

                                  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 'Toggle' Method for Booleans

                                    I have often found myself typing the following conditional statement:
                                    If Panel.Visible = False Then
                                    Panel.Visible = True
                                    Else
                                    Panel.Visible = False
                                    End If

                                    And it hit me that life would be so much easier if there was a 'toggle' method for booleans (Boolean.Toggle()) that automatically switched the value between true and false. More of a productivity suggestion than anything but I think it would make life so much easier.

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

                                      This Thread is Sensored, and delayed

                                      u ar Communists ? dont alow criticans ?

                                      then u have to die, like all others they handle so

                                      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  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Too hard to use TFS Team Explorer 2012

                                        The TFS 2012 Team Explorer is too hard to use. I want the original TFS 2010 Team Explorer experience. The color is bad too.. I can hardly differentiate the title and content in windows.

                                        20 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                                        • (Anonymous) compound (interface) types

                                          Sometimes I need a method argument to implement different interfaces (e.g. IEnumerable<T> and INotifyCollectionChanged). Currently I know of two ways to enforce this:

                                          1) Creating a new interface inheriting the required interfaces:

                                          interface IObservableEnumerable<out T> : IEnumerable<T>, INotifyCollectionChanged { }

                                          SomeMethod(IObservableEnumerable<String> items);

                                          2) A generic method with a suitable type constraint:

                                          SomeMethod<T>(T items) where T : IEnumerable<String>, INotifyCollectionChanged;

                                          In my opinion neither is satisfying. The first fails in case of third party classes (which obviously cannot be made to implement the new interface). The second fails wherever generics are not supported (constructors, operators, …).

                                          The ability to use an (anonymous)…

                                          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