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: https://connect.microsoft.com/visualstudio.

We would also like to invite you to check out the Announcements section we have added to this site, where we will be posting special opportunities for you to participate in.

We look forward to hearing from you!

The Visual Studio Team
Terms of Service and Privacy Policy

NEW! Announcing Limited Preview for Visual Studio Online Code Search

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. Provide ability to get performance metrics of individual methods

    Currently there is no easy way to get performance metrics/instrumentation on just how LONG it takes to execute a particular method in a class. Instead, you have to add StopWatch timers throughout your Unit Test or code base in order to get these types of Metrics. However, this is very tedious and time consuming. It would be much better if I could directly get timing information on the execution of individual methods directly from performance metrics or instrumentation of my classes when I run any type of Performance or Load Tests to determine which methods in my classes are severely…

    2 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  ·  Performance  ·  Flag idea as inappropriate…  ·  Admin →
    • Ambiguous file names in editor tabs and rencent projects/files

      I think it's a very common practice for most developers to work with several branches of the same project: trunk + 1..N feature branches. And of course structure of those projects and filenames are the same for different branches. Right now in this case developer sees in recent project an ambiguous list of files with same names. The only way to distinguish them - is by tooltips, but it's slow and inconvenient. The same is when we open in code editor several files with same name from different projects. IntelliJ IDEs, for example, in similiar situation behave better.

      It wold…

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        1 comment  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
      • Have compiler warnings more closely match those from Unity

        I'd really like to get rid of all warnings in our project both when compiling in Unity, and when compiling in Visual Studio.

        I get that because Unity compiles with Mono, and VS compiles with the .Net compiler so the warnings generated will always be a little bit different. However Unity also suppresses certain warnings because they would otherwise fire on false positives in typical Unity scripts.

        I'm thinking particularly of CS0649 which fires on private serialized fields that C# thinks are never assigned a value even though Unity will assign a value when de-serializing the class.

        I can get…

        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 Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →

          Hi,

          Thanks for your suggestion!

          You’re right that because both Unity and VS compile the code with a different compiler you’ll get potentially different messages, but you’re also right that we should let you set the nowarn option from our configuration.

          You can easily workaround it by using #pragma warning disable, but having a configuration option is much better.

          Jb Evain, Dev Lead, Tools for Unity

        • An effective way to compress Large Object Heap

          I think I've found an effective way to compress LOH:
          If CLR always alloc every large object at the beginning of a RAM page(usually 4KB per page),then the large object heap(LOH) can be compressed without much cost: CLR can compress LOH by modifying page table and TLB instead of copying data. If so, small fragmentation maybe still exist (less then a memory page size per fragment), but there would be no large fragmentation, and compressing would be very fast because of not copying large amount of memory data. To do this, OS support may be needed, fortunately Windows OS and…

          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…)
            1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
          • Implement correct two-phase lookup for C++ templates

            From what I have read and understand, two-phase lookup is not properly implemented in MSVC. It prevents some template metaprogramming techniques to be compiled. For instance, I would like to use the Meta library by Eric Niebler (https://github.com/ericniebler/meta), but I can't because it won't compile on MSVC. I even took out most of it and just tried to get basic functionality to compile and it won't. I am not 100% certain the problems are related to two-phase lookup, but I think it is. Anyhow, since the standard requires two-phase lookup and Microsoft is trying to be more compliant,…

            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  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
            • vsonline announcements page

              IN VisualStudio Online portal, have the ability to have custom announcements. My company has over 180 users on 30 teams and it would be nice to set announcements by both team and by site. THis would allow teams to post meeting changes or other team related info or for me the administrator to make an announcement site wide when users first login.

              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  ·  Flag idea as inappropriate…  ·  Admin →
              • Drag and Drop a Task to an Iteration

                Let say I have PBI pbiA with children tasks: taskA1 and taskA2, they are currently in Iteration Sprint1, and I want to change taskA2 to Sprint2. To do so in TFS 2015 CTP, I need to edit taskA2 and change the Iteration field. It would be practical to be able to drag and drop tasks from the backlog or the task board.

                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…)
                • tfs integration platform - automatic sync frequency

                  Currently, the default automatic sync job triggers every 30 seconds. It would be nice, if that can be changed.

                  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  ·  Flag idea as inappropriate…  ·  Admin →
                  • Allow multiple languages (C#,VB,F#) in the same project

                    Now with Roslyn this could be possible.

                    It's very annoying that you have to convert C# to VB just to include a class/function/snippet in your VB project, and viceversa.
                    If all code compiles to MSIL, then why we cannot use different NET languages in the same project.

                    Another example is a function in F#, you may want to use some functions that will simplify/improve your project (C#/VB) and it's better to do it in a functional language, but you don't want to code all your project in F#, nor want to create a separate project in F# with its DLL…

                    7 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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                    • I would like to have a option to cross out text

                      I would like to have a option to cross out text in the fields Description and Aceptance criteria. This way i can cross out text that is no longer valid. I don't want to delete the text, bacause i want to keep the history. Sometimes that is very useful.

                      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…)
                      • Simpler 'find in folder' functionality

                        While it's currently possible to do a search/replace in a particular folder, it's pretty cumbersome. Please consider simplifying this (i.e. pressing ctrl+shift+F with a folder selected in Solution Explorer could add a 'Current folder' option in the Look in dropdown).

                        2 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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                        • Enable compression for data transfer over HTTP protocol

                          If the Drop Location Access option for the remote server is set to “Through Release Management Server over HTTP(S)” the data transfer rate decreases substantially if the amount of files, to be transferred, is high. I assume that the transfer via HTTP works without compression and the files are streamed one by one. To speed-up deployments it might be good to compress all files to one and after that stream it over HTTP.

                          19 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  ·  Release Management  ·  Flag idea as inappropriate…  ·  Admin →
                          • Schedule queries to run and be delivered to email inbox.

                            Schedule queries to run and be delivered to email inbox.

                            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 →
                            • IP White List on VSO

                              There should be a way to restrict access to our code repository on Visual Studio Online in order to prevent unauthorized downloading of our code. This can be done by creating an IP White List where authorized developers coming from our corporate network can download our code but no one else should be able to. This is necessary second layer of security where it's not just members of a team but also location. For example, for some developers in our team, we don't want them to download our code onto their home computers.

                              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…)
                              • Improve the accessibility of the Ctrl+Tab document switcher in VS

                                When using Visual Studio with the NVDA screen reader, I can get no feedback when using ctrl+tab to move between open documents. I tried to script this using AppModules, but the UI for this is written in such a bizarre way that I couldn't get a hold of the right window to find the selected item to read it aloud. So I think this is something that can only be fixed on your end.

                                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  ·  Accessibility  ·  Flag idea as inappropriate…  ·  Admin →
                                • don't change the F5 functionality based on context

                                  Normally, F5 starts debug. But if you are in a bug view, it refreshes the bug or bug list; and I think there's another place which takes over the F5.

                                  I think it's confusing that the functionality of a central key like this one changes. If you want to refresh the view, use Ctrl-R or something. F5 should always be start debug.

                                  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 →
                                  • Add Efficient XML interchange support to .NET

                                    There are several projects which purport to be .NET implementations of Efficient XML Interchange, but there is no .Serialize .Deserialize support for EXI that mirrors that for XML and JSON in .NET. EXI has the opportunity to become a very important player in all sorts of things from the desktop to the web to the .NET micro framework, and it would make a lot of sense to adopt it as a key player BEFORE it is needed.

                                    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 →
                                    • Fix opcodes from vb compiler when initialize an array and function local variant

                                      Hi guys,

                                      I want to point out some flaw opcodes that vb compiler create and hope VB dev team have sometime to fix those and make VB better performance.

                                      1. Array

                                      When I create an array like this "Dim Data(input.Length - 1) As Char", compiler will rewrite to "Dim Data(input.Length - 1 + 1) As Char"; it's unnecessary 4 bytes and you loss 4 of 64 bytes if you aim to create a tiny method.

                                      2. Function local variant

                                      VB function away has self local variant like "Function foo() As string" will have "Dim foo As String" even it's unused…

                                      9 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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Allow rename Servers Name in Configure Paths of Release Management

                                        Create a way to rename the Server Name in Configure Paths of Release Management

                                        43 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  ·  Release Management  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Have layered transparency with picture boxes. Transparent sections of picture boxes will always show form background not other pictureboxes

                                          When two picture boxes overlap, the transparent parts of the top one will always show the form background rather than the picture box between it and the form.

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

                                          Feedback and Knowledge Base