Visual Studio IDE

Announcement: Last fall, we migrated this forum to Visual Studio Developer Community to provide you one convenient and responsive system for all feedback. As the final step in the migration, this forum will be closed off completely on June 1st, 2019. We encourage you to visit Visual Studio Developer Community where you can now suggest new ideas, browse and vote on existing ideas, and engage with Visual Studio teams.

We’d like your suggestions and ideas to help us continuously improve future releases of Visual Studio, so we’ve partnered with UserVoice, a third-party service, to collect your feedback. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.

This site is for feature suggestions; if you need to file a bug, you can visit our Developer Community website to get started.

Note: your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy and license terms.

We look forward to hearing from you!
- The 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 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. LINQ times out in debugger

    Write a piece of linq in the watch or immediate window that could take a little time and it can time out "Evaluation timed out". Please, could you not time out and just execute whatever I give the debugger to do.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  2. Show 2D arrays as tables in debugger

    The debugger/inspector should display 2D arrays as tables, not as 1D list.

    Ideally I could also select & copy/past rectangular regions of arrays. (For analysis in Excel, etc.)

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  3. Immediate Window is slow

    The Immediate Window is slow. I think this is new in VS15, but might have become slow in VS13 already.

    I think this is because the engine was changed to a new interpreter that can do more than the old engine. That nice in 99% of the cases.

    Sometimes we need to run something at high speed (not 100x slower as it currently seems).

    Please add a mode or a switch that can be used to use a fast evaluation engine that has less features and that is less safe. I'm OK with that engine for example deadlocking in cross…

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  4. Graphics Frame Analysis : image export

    It would be nice to be able to save images to a raw or png format.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  5. evaluate the "area path" as full path in TFS for Charting, rather than just the last subpath

    like the simple charting available for queries in TFS's web view. So I created several queries and a diagramms.
    In my project(s) we have an area path structure like this:

    It's best explained with pictures:
    |
    + feature a
    | |- area X
    | |- area Y
    + feature b
    | |- area X
    | |- area Y

    and I want a diagramm like
    | x
    | x x
    | x x x x
    +-------------------
    | | | |
    | | | \ feat b, area Y
    | | \ feat b, area X
    | \ feat a, area Y …

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  6. Call Stack window improperly truncates stack when StackOverflowException

    When debugging a stack overflow, the Call Stack window displays many frames from the top of the stack, then stops with "The maximum number of stack frames supported by Visual Studio has been exceeded."

    Instead, it would be better to show multiple frames from the top, then elide as many frames as needed, then show multiple frames from the bottom.

    Here's a concrete motivation: when running a number of tests and one of them overflows, the stack doesn't help to see which test is causing the problem.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  7. 9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  8. Allow debugging of projects whose assembly names differ by configuration

    For historical reasons, some projects we develop produce differently-named assemblies depending on the configuration. This is achievable by manually editing the project file to include a new `AssemblyName` definition for certain configurations.

    Visual Studio builds the project correctly for all configurations, and the assembly can be run stand-alone. However, if you attempt to start debugging the project in a configuration in which the assembly name has been overridden, Visual Studio gives the error:

    > Visual Studio cannot start debugging because the debug target 'c:\path\to\correct\bin\dir\UnchangedAssemblyName.exe` is missing. Please build the project and retry, or set the OutputPath and AssemblyName properties appropriately…

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  9. Support Webpack building and debugging

    Webpack is one of the most popular bundlers out there. Please consider first class debugging support for Webpack.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  10. Implement breakpoints for javascript/typescript modules loaded with SystemJS as for RequireJS

    Enable breakpoints for JavaScript solutions that use jspm/SystemJS as currently works for RequireJS. It is possible to swap the two but this can creates a fair amount of extra work in configuration changes.

    This is a particular pain point when working with frameworks that depend on jspm/SystemJS such as Aurelia.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  11. Binding details in live property explorer

    Show the source of a value of property along with binding details + errors if any for the properties.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add an "Ingestion time" metric that will reflect the time it takes for a blob to get ingested.

    As part of our KPIs monthly reviews we are required to present the latency it takes for our data to land in Kusto. For that we would like to have an "ingestion time" Geneva metric which can also be helpful for Kusto's own supportability. It will measure the time it takes for a blob to get ingested. You can check the blob's creation time (we use the Kusto API) or the time the relevant message was published to the queue in order to start measuring the latency until the blob is ingested.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  13. Show the type from VisualStudio debugger Datatip

    Like this case here: http://stackoverflow.com/questions/39598812/how-do-you-tell-type-from-visualstudio-debuggers-datatip

    The default VS debugger Datatip will show the value of the variables, but not show the type of it in default, how about adding the type column/cell in the datatip tool in debugging?

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  14. <CustomListItems> need to accept more than just <Item> descendants in natvis

    In VS2015, natvis has a new tag called <CustomListItems>. It is very cool, allowing for iteration over structures to find just the right ones and display them to any of the watch windows.

    Unfortunately, these items to display are only limited to using <Item>, which is really sad as there are a bunch of already available constructs that would make this much easier to visualize.

    Basically, anything that <Expand> or <Synthetic> can contain, so should <CustomListItems>. Even having it contain another <CustomListItems> would be useful to limit scope of <Variable>.

    Also, <Item> under the <CustomListItems> is a crippled version of…

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  15. Open memory window at variable address

    In the variable watch views ( Autos / Locals / Watch List ),

    Have a right click option to open a memory window at the variables memory address (or pointed to address for pointer types).

    Right now an option exists for 'Go to Disassembly', 'Go to Memory' would complement it nicely

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  16. Add ability to filter disabled exceptions

    I like the new Exceptions Settings window. Current filter functionality only allows you to show the enabled exceptions. For me, I'm often wondering what exceptions I've excluded, wanting to turn them back on.

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  17. Show decimal and hexadecimal in the debugger

    Please show both decimal and hexadecimal values for integers in the debugger. There is usually plenty of space available where the values are shown and would make globally switching unnecessary,

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  18. team foundation 2015 build logs in local time

    Current TFS Build Info (start, stop) is in local time. As it should be. However build logs are in UTC time which is very frustrating. These should also be in local time, please!
    The number of users which need this must be small and if needed some config option could be given.

    See https://social.msdn.microsoft.com/Forums/en-US/93ea5f77-6687-4ba4-8775-00e440801cac/tfs-2015-update-1-build-time-displays?forum=tfsbuild

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  19. Add Watch should add variable to most recent watch window

    Currently, Add Watch *always* adds the variable to Watch 1.

    So if I've currently got Watch 2, 3, or 4 visible when I use Add Watch, the variable is added to Watch 1 and this window is activated (and opened if necessary).

    What I'd really like is for the variable to be added to the most recently visited Watch window (either clicked in or typed in). More than one Watch window might be visible at any time, so it wouldn't be possible to go on visibility alone.

    I rarely use Add Watch because of this. Far better to just add…

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
  20. Stop using MS Edge for debugging ASP.Net apps

    Positing for a second that MS Edge is unsuitable for debugging ASP.Net apps (see list below), PLEASE stop defaulting to that browser when debugging. I prefer to have the experience relatively streamlined so that I can focus on debugging *my* code. However, with Edge's flakiness, I'm having to jump debugging paradigms and deal with whatever bugs Edge wants to expose. It's just a royal pain in the &*# compared to vPrev, which wasn't great for ASP.Net either.
    Why Edge is bad for debugging ASP.Net:
    1. VS does not attach its debugger; it uses Edge's, so I constantly have to open…

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →

Feedback and Knowledge Base