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. Unmanaged generic type constraint + generic pointers

    Add an "unmanaged"/"blittable" generic type constraint and use it to allow generic pointers and related features. Related post by Eric Lippert:
    http://stackoverflow.com/questions/7551461/c-sharp-generic-constraint-where-is-not-class/7557040#7557040

    The end result would allow this sort of code:

    unsafe void DoSomeStuff<T>() where T : unmanaged
    {
    T t = new T();
    T* tPointer = &t;
    T* aBunchOfT = stackalloc T[100];
    var tSize = sizeof(T);
    byte* aBunchOfBytes = stackalloc byte[tSize * 100];
    T* aBunchOfCastedT = (T*)bunchOfBytes;
    }

    Performance critical generic data structures, particularly those using preallocated pools of memory, would be a good example use case for this.

    Currently, a data structure using pointers to represent data would…

    261 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 →
    • Visualize Blocked Task in Task board

      In TFS 2012 (Scrum Template) you can set a Task to Blocked. Problem is you need a query to see a task is blocked. I suggest Visualizing it in the Sprint board so that Team member know the item is blocked.

      260 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…)
        10 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
      • Support converting TFS online project from TFSVC to Git

        I want to be able to convert an existing project in TFS online from using TFSVC version control to Git. Currently I can only get Git by creating a new project.

        260 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…)
          6 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
        • Support server SSL certificate chain inspection in Portable Class Libraries

          As requested in http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3158400-add-httpclient-support-in-portable-class-libraries there is now an HttpClient that can be used in Portable Class Libraries. The latest version of portable HttpClient today is 2.2.15 and it supports also SSL connections.

          When a SSL connection is created, the HttpClient doesn't offer any way to inspect the x.509 certificate chain returned by the remote server. I want to implement certificate pinning for additional security in my app and therefore I need an API to read the values of individual x.509 certificates.

          I've understood that this could be done in these frameworks:
          - .NET FW 2.0 (or newer): using System.Net.ServicePointManager.ServerCertificateValidationCallback API…

          255 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…)
            6 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Native support for XPath 2.0 or XSLT 2.0 in .NET

            Provide native support for XPath 2.0 or XSLT 2.0 in .NET framework, and of course extend it to SharePoint and other related technologies

            255 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • 253 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…)
                14 comments  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
              • Make data accessible via APIs for custom processing

                Application Insights sounds cool but I can't imagine having all my data locked up behind a portal without an ability to programmatically access it or at least download it for offline processing. I'm sure the portal is awesome but I'm also sure that there will be project-specific types of insight I need to get out of this data which the portal won't sufficiently support. Making data accessible outside the portal lets you get around that concern while continuing to improve the product.

                253 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…)
                  7 comments  ·  Application Insights  ·  Flag idea as inappropriate…  ·  Admin →
                • Implement indexed full-text search of work items, check-in comments and source

                  TFS stores a tremendous amount of text, but finding what you are looking for with the built-in tools is not very easy. The work item query editor follows the old structured approach - which is good for some things - but is clumsy for full-text, unstructured searches. Check-in comments are even more problematic.
                  Imagine a search engine that crawls the full TFS content, with simple scoping (project/folder and item type) that instantly finds changesets, work items and source code. The web frontent should have a very familiar "web search engine" style, but it should also be possible to perform these…

                  251 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…)
                    9 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →

                    Thanks for the feedback. The web access site for TFS 2010 features a search box for work items. The work item search box has been added into the product for the next version of Visual Studio. As BertrandH notes, there’s a third party plug-in that adds a search box for work items to VS 2010. Our official powertools for VS 2010 also recently released with a work item search box added in: http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f.

                    We continue to look into a comprehensive search solution for all artifacts in TFS besides just work items.

                  • Implement TFS Build for linux (Create Linux build agent)

                    Allow to use fullfeatured TFS build agent on linux machines

                    250 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…)
                      under review  ·  13 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                    • Do not eliminate the CLASSIC view of MSDN

                      Microsoft is apparently about to eliminate the classic view of MSDN in favor of the poor low-contrast, pale, washed out 'lightweight' view. When you visit MSDN now you will see the following if you are viewing the CLASSIC view:

                      "This view of the MSDN and TechNet Libraries will be replaced soon with the Lightweight view. Try it now by clicking the Lightweight link above."

                      This is more of the same from Microsoft in reducing the developer experience to a shred of what it once was, and makes using MSDN as unpleasant as the grey theme of VS2012.

                      247 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  ·  Flag idea as inappropriate…  ·  Admin →
                      • save text files with the newline convention present in the file when opened

                        The Visual Studio text file editor has an "advanced save" option that allows me to choose a particular format to save to, every time I save a file.
                        However, 99% of the time, the right thing to do is to save the file using whatever convention was present when the file was originally opened. Thus, if I open a file with LF-style line termination, new lines I add should be terminated with LF, and the file should be saved as LF-terminated. If I open a file with CRLF convention, new lines I *** should be terminated with CRLF, and it…

                        244 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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                        • Show me all test suites/ test plans a test case belongs to

                          I should be able to find out all the test plans/ test suites in which a given test case is used

                          242 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  ·  Visual Studio Test and Lab Management  ·  Flag idea as inappropriate…  ·  Admin →

                            Take a look at the VSO release notes (www.visualstudio.com/.../2014-sep-4-vso) for the “Test cases related to Test suites” section.

                            This capability allows the most basic need of finding out what all suites a test case belongs to. The list of suites that show up in the “test suite pane” for a selected test case lists all the suites that are present in the current test plan, across test plans and even across team projects within the current team project collection – just hover over the suite name for this information

                            See the following for more info:
                            http://www.visualstudio.com/get-started/create-tests-vs

                            This capability will be coming onto On-Prem TFS in the next update – TFS 2013 Update#4.

                            -Ravi Shanker

                          • 240 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…)
                              15 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                            • JavaScript Navigation toolbar

                              I vote for navigation windows and function/class browser for JavaScript, which we waiting from vs2005

                              240 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…)
                                8 comments  ·  Languages - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
                              • Global variables at release management

                                At release management it would be great to use "globale" build varaibles. For example build path, build name, drop location. Also define variables at release template to use this for more custom tasks. Also fixed variables like, date, time and so on.

                                240 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…)
                                  6 comments  ·  Release Management  ·  Flag idea as inappropriate…  ·  Admin →
                                • Add support for ISupportInitialize on object initializers

                                  Quite often, it's necessary to validate an object state when it's initialized. With constructor arguments, this is easy to do as it can be done at the end or begining of ctor code. With object initializers, it's nearly impossible, as there's no way to know programatically when the object initialization is finished.

                                  There's a built-in mechamis for this that is being used in WinForms and WPF: the ISupportInitialize interface. The initialization code generated by both toolkits checks to determine if the object implements the interface. If it does, it will call BeginInit() before invoking all property setters, and EndInit() at…

                                  239 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Structure All Nullable Values

                                    .NET Framework already has Nullable<T> but it could also have ToNullable<T> as a struct.

                                    If you wanted to keep reference-types null and turn value-types to null you could make this:

                                    class someGenericClass<T>
                                    {
                                    T? value; /* = Nullable<T> value; but this gives error
                                    because T may already be null */

                                    T$ value; /* = ToNullable<T> value; this doesn't give error,
                                    what you wnat is keep what's null null,
                                    and turn non-null into null */
                                    }

                                    The only problem is that this does not exist!
                                    If you don't understand anything about this, contact jmcf125@gmail.com.

                                    239 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…)
                                      15 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Add "Ignore All" and "Reload All" buttons to Reload Project dialog

                                      When projects and solution is regenerated outside of Visual Studio, and Visual Studio picks detects the change and offers user to Reload or Ignore, it offers one or two dialogs per project. There's no way to "Ignore All" or "Reload All". This is low-cost high-impact feature for many developers who generate their solutions and projects using external tools.

                                      237 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…)
                                        6 comments  ·  Performance  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Ability to constrain linked work items based on rules/conditions

                                        For example, I want to prevent the creation of Sprint Tasks before a Product Backlog Item is ready for development, assigned to a Sprint, contains a description, and is prioritized.

                                        236 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 support for Windows Store apps written in F# ... show that F# can be superior to C# even when it comes to more common tasks like GUI dev

                                          add support for Windows Store apps written in F# (FSharp) ... to show that F# can be superior to C# even when it comes to more common tasks like GUI development.
                                          <a href="https://github.com/dmitry-a-morozov/fsharp-wpf-mvc-series/wiki/Intro"; > link </a>

                                          235 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  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base