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. Allow developers to step through .NET Framework sources

    Microsoft currently makes reference sources available for major .NET Framework releases. You can use this source in Visual Studio so that you can step through .NET Framework code, like List<T>. That’s very useful in some situations. Unfortunately, .NET Framework servicing updates and small changes to the .NET Framework (like via: Windows Update) break this experience. Let us know if you use this feature and if you want us to fix it such that you can count on it across the lifetime of a .NET Framework release.

    1,111 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…)
      40 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
    • Add "?." operator to C#

      Add the "?." operator to C# and make it chainable like CoffeeScript so we don't have to write null reference checks for every nested property. An example would be:
      myObject?.Items?.[0]?.DoSomething()

      397 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…)
        20 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
      • Cleanup the Solution Explorer context menu

        The Solution Explorer context menu is totally ridiculous. We pay lots of attention to the toolbar buttons but people (groups within MS) continue to through everything plus the kitchen sink into the context menu. Let's not put features in your face at the cost of good usability.

        1,645 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…)
          46 comments  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
        • Silverlight 6

          Please do work on Silverlight next version. I feel Silverlight is great tool which has best in cross development web experience. Although you guys are spending time on HTML5 and other stuffs, but I feel it takes years to bring HTML 5 is not flexible enough like Silverlight.

          One more thing, as a Silverlight developer it was only my chance to replace flash from my projects, but as you guys stopped working on it; I feel that I wasted my time in learning Silverlight.

          Do start working on Silverlight, Only this will get you back in increasing footprints in website…

          2,362 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…)
            129 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Add Mercurial support to Team Foundation Server

            The addition of Git support to TFS is really good news for us DVCS aficionados. However, while many teams are satisfied with it, many others find it a very contentious option due to its fairly steep learning curve, unintuitive behaviour, and at times confusing terminology.

            For teams that are making their first steps into distributed version control, Mercurial may be a better option. It would be great if TFS could support both systems.

            884 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…)
              19 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
            • Add TryRemove(TKey key, out TValue value) to Dictionary<TKey, TValue>

              Currently, to "pull" an item out of a Dictionary it is a two step process:

              SomeClass value = null;
              if (dictionary.TryGetValue(theKey, out value))
              {
              dictionary.Remove(theKey);
              // do something with the item...
              }

              This requires the hash code to be generated twice, which can be costly in high performance scenarios (which is why TryGetValue exists in the first place).

              It would be optimal to be able to do:

              SomeClass value = null;
              if (dictionary.TryRemove(theKey, out value))
              {
              // do something with the item...
              }

              Implementation would be trivial and provide significant benefit.

              50 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 →
              • Provide a ResourceManager abstraction mechanism

                The existing System.Resources.ResourceManager is based on .resx files built into a fallback assembly with multiple satellite assemblies. This model works fine for some situations but it is inappropriate for others. It is relatively easy to create custom resource managers but it is not simple to get an application to use the custom resource manager instead of the ResourceManager.

                What is needed is an abstraction from the 'default' ResourceManager - a mechanism by which I can tell my application to use *my* resource manager instead of System.Resources.ResourceManager.

                The solution should not be tied to a specific user interface technology. For example…

                125 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 →
                • Bring back Classic Visual Basic, an improved version of VB6

                  The silent majority of VB6 users did not ask for changes that came with .NET

                  We request Microsoft brings back classic Visual Basic as COM development is back with Windows 8.

                  David Platt wrote an excellent article about why classic VB still thrives:
                  http://msdn.microsoft.com/en-us/magazine/jj133828.aspx

                  1,659 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…)
                    193 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                  • Make Code Review available to Professional users

                    Code reviews currently can only be requested and viewed by VS Premium and Ultimate users. I fail to see why this feature is not available to anyone using TFS, regardless of Visual Studio version. If peer code review is required, then all members of the team must do it. However, in our company, we only get Premium MSDN licenses for developers that need it. Not everyone needs all the bells and whistles that come with Premium. And I don't think its worth the extra $5,000, per developer, to upgrade to Premium just to do code review. We would love to…

                    258 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…)
                      11 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • Provide formatting and colorisation for a JSON file type

                      There is a good use case for storing information in ".json" files because it is more concise than XML.

                      At present Visual Studio does not provide any formatting for files with the json extension.

                      Please add formatting and colorisation of the content for these file types.

                      26 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  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
                      • Edit & Continue: Allow the modification of lambda's and anonymous methods

                        This has been split from https://visualstudio.uservoice.com/admin/forums/121579-visual-studio/suggestions/2035769-make-edit-and-continue-work-more-globally.

                        Edit and Continue has always been a staple of Visual Studio development; it's one of the most important features that make it better than other IDEs. In 2002, Visual Studio .Net came out, and didn't have Edit and Continue, which made it very hard to use. In 2003, the new version had Edit and Continue and I was jubilant.

                        Enable edit and continue for lambda changes; that might mean that you even have to allow edit and continue to add new methods, but that should be possible using light-weight code generation.

                        (Filed on…

                        31 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 →
                        • TFService + git - Pull requests

                          Visual Studio's current Code Review feature works only from within Visual Studio: https://tfs.visualstudio.com/en-us/learn/code/get-your-code-reviewed-vs

                          When using TFService with git, we need something similar to Pull Requests, as a means for performing code reviews, as github.com and bitbucket.org offer:

                          https://help.github.com/articles/using-pull-requests

                          https://confluence.atlassian.com/display/BITBUCKET/Working+with+pull+requests

                          81 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 →
                          • Git Provider should *not* add new files to index automatically

                            The new Git source control provider in VS2012 U2 works quite nicely, but it keeps adding new files to the git index automatically. This messes with my git workflow so much I actually had to disable the provider. The behavior also seems quite arbitrary, i.e. it doesn't make sense to me why anyone would want to add a new file to the git index right when it was created. Please make the Git provider not touch git and the git index ever, unless the user requests it to do so (the provider is actually quite good in this regard already,…

                            79 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  ·  Extension  ·  Flag idea as inappropriate…  ·  Admin →
                            • Enable HLSL, DirectX and graphics development toolset for the C# language.

                              Visual Studio only provides hlsl compilation tools for C++ projects, while C# projects which also use hlsl are left without this facility. This is a glaring inconsistency in the tools provided to each language. C# is meant to be a first-class language yet the DirectX tools which are built in to Visual Studio are not equally provided to C#, this is an unnecessary and arbitrary limitation.

                              Developing DirectX applications with C# is becoming easier and there are now more tools than ever to work with this combination of technologies, including SlimDX and SharpDX, both fully capable managed DirectX frameworks (wrappers).…

                              284 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                              • Switch to Clang

                                Why?

                                Because it compiles code faster on large code bases.
                                Because it is more C++11 compliant.
                                Because it will be updated with fixes in a timely manner.
                                Because it will require less of your maintenance.
                                Because you can contribute back to it to make it even better.
                                Because you can build tools out of it like Intellisense, static analysis, etc.
                                Because MSFT can focus on Visual Studio UI and other elements that make it a nice IDE.
                                Because this is what C++ developers would prefer (non-biased opinion here :P ).
                                Because code portability is important in this platform diverse world.

                                29 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  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                • Make existing Visual Studio visual designer and extensible enough to be available for other programming language such as F# as well

                                  I don't know how to write this suggestions clearer than the current title. I'll try to explain the background of this suggestions
                                  This is the current situations in VS 2012:
                                  1. F# has included as one of first class language since VS 2010
                                  2. F# user base has grown larger than before, thanks to #1, Microsoft! But unfortunately? (read next)
                                  3. Can't create ASP.NET project template using F# other than C# or VB.
                                  4. Can't create WPF (hence Silverlight) project visually using F# (again, other than using C# or VB)
                                  5. Can't create visual Windows Store app using F#, just…

                                  29 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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                                  • When in the "Find Changesets" dialog in "Source Control Explorer", it would be nice to have an option to rollback the changeset

                                    When in the "Find Changesets" dialog in "Source Control Explorer", it would be nice to have an option to rollback the changeset that was found/searched for. Currently, you have to view history on the solution/folder/file to select the changeset and roll it back.

                                    30 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 →
                                    • Add ToQueue<T> and ToHashSet<T> extension methods on IEnumerable<T>

                                      IEnumerable<T> has the ToList<T> extension method, and it would be very useful to have equivalent ToQueue<T> and ToHashSet<T> methods. Although Queue<T> and HashSet<T> have constructors that take an IEnumerable<T>, they cannot be used when T is an anonymous type. For example this is an error:

                                      var q = new Queue(Enumerable.Range(1, 3).Select(i => new { Prop = 7 }));

                                      But the equivalent using ToQueue works fine. It is fairly easy to define your own extension methods along the lines of:

                                      public static HashSet<T> ToHashSet<T>(this IEnumerable<T> collection)
                                      {
                                      return new HashSet<T>(collection);
                                      }

                                      But the use case is very common, so they seem…

                                      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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                      • silverlight compile to html5 or Have XAML run in browser without plugin

                                        have Silverlight compile to html5 or Have XAML run in browser without plugin.

                                        59 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 →
                                        • Allow use of DataTestMethod / DataRow in all unit testing projects

                                          As I understand it these attributes are limited to use in WinRT/Metro and now with update 2, Windows Phone 8. It would be very helpful to be able to use them in all test projects e.g.

                                          [DataTestMethod]
                                          [DataRow("a", "b")]
                                          [DataRow(" ", "a")]
                                          public void TestMathos1(string value1, string value2)
                                          {
                                          Assert.AreEqual(value1 + value2, string.Concat(value1, value2));
                                          }

                                          55 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 →
                                          ← Previous 1 3 4 5 6 7 8 9 10 11 311 312
                                          • Don't see your idea?

                                          Feedback and Knowledge Base