Visual Studio IDE

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, you can visit our Developer Community website to get started. 

NOTE: The Applications Insights forum has moved to the Azure feedback site.

For suggestions for improvements to other developer products, see these sites:

To review the current UserVoice statuses and their definitions, please review our “What Does the Status of My Feedback Mean?” article.

We look forward to hearing from you!

- The 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 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. 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  ·  Accessibility  ·  Flag idea as inappropriate…  ·  Admin →
    • Use Microsoft Dial for stepping through debugger.

      It would be great to have some functionality for the Microsoft Dial hardware built into VS!

      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  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
      • cmake launching/debugging: provide the ability to set environment variables (especially PATH)

        I need to be able to set PATH when launching my application. because it depends on some third-party libraries. This is especially important for debugging.

        Note this applies only to cmake/open folder support.

        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  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
        • install on sd card

          It would be great if we could install on an SD card. this would make it practical to them use Visual Studio on a tablet when for example commuting to work.

          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  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
          • service fabric deploy

            Currently when publishing a service fabric application (on premise), we always have to select first the build configuration (Debug or Release), would be better to have a setting under publish, this way currently is very error prone and tedious, because we have different config transformations per environment.
            It would really improve workflow.

            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  ·  Windows Azure Tools  ·  Flag idea as inappropriate…  ·  Admin →
            • modernize the update system

              It is long past time for updates to Visual Studio core components to be integrated in a modern update manager, rather than an update check within Visual Studio that kicks you to separate package downloads external to Visual Studio itself.

              In other words, an update manager that behaves like one expects of update managers, and handled at least similarly to updates for almost every other Microsoft product outside of the Visual Studio line.

              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  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
              • Mark errors in the error list as solved

                When compiling a project after a lot of changes were made, it (sadly) often happens that some errors occur. It would be cool if you could mark an error as solved when you think you solved it, so that it does not get shown in the error list until you rebuild the project (maybe with a filtering option to still show them, so that you don't need to rebuild when you accidentally marked an error as solved). That would result in a way more comfortable and clear error list.

                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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                • Please give back the "delete selection" in code context menu or ability to customise context

                  Please give back the "delete selection" in code context menu instead of toolbar. When working in code view, the context nenu has lost the delete option. moving up to toolback to delete a section of code is just timewasting. Alternatively, please give the option to customise our context menu. Many thanks for considering.

                  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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                  • Add an Attribute to specify an XML-schema for verifying and validating web API (WebApi) calls.

                    Today there's the possibility of crating a class that can be used to define an input parameter for a web-API. You are able check weather the web-API framework manage to parse the input XML and map it to your input parameter (class).

                    This is not the same as validating the submitted XML against an xml-schema, the way you can do if you manually load the XML by adding a schema to the xmlReaderSettings.

                    A new attribute should be introduced, where it is possible to specify the schema for the web-API.
                    It should also be possible to specify a delegate for…

                    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 →
                    • Cannot move MainWindow screen to the upper left corner or make it to the full screen in the XMAL designer editor

                      The MainWindow screen default display at the center of the XAML designer editor and we cannot move it the upper left corner to make it as display all content or make it to full screen, we need to roll the vertical or horizontal scroll bar to see some area which no display at the default XAML display field

                      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…)
                        1 comment  ·  UWP / WPF / XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
                      • Be able to restart visual studio quickly

                        Ideally I would prefer not to have to restart VS so often and if you could fix that that would be great. In the interim can you add some functionality to just restart VS from say a drop down item in the File Menu

                        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 and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                        • 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…)
                            1 comment  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
                          • please consider some uwp equivalent to system.drawing.region

                            so many people want this class they just don't know about it. It is so incredibly useful for 2d games. the win2d thing looks nice but I don't see the functions needed to make more dynamic geometry than just drawing basic shapes and lines.

                            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  ·  UWP / WPF / XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
                            • document tabs with tfs tontext menu

                              Add the source Control functions like "view history" directly on the document tab Kontext menue. like it can be used in solution Explorer.

                              sometimes ist a heck to scroll around in larger solutions to find the current *.cs file i'm working on.

                              other Option might be to add a "Point in solution Explorer" to directly mark and visualize the current file.

                              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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                              • Allow ?. operator to be used in assignments

                                The ?. operator is great for reading values from classes

                                var a = c?.Foo;

                                It would be great if it could also be used for assigning values as well.

                                c?.Foo = 4;

                                My feeling is that this should be really easy for properties, since the setter gets generated as method set_Foo(...), and thus c?.set_Foo(4)

                                I would also think it it would be doable for normal field members, since it should just be like

                                var tmp = c;
                                if (tmp != null) {
                                tmp.Foo = 4;
                                }

                                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…)
                                  0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                • Format Dictionary Object Initializer Code

                                  When I create a dictionary using the object initializer syntax, Edit -> Advanced -> Format Document is not formatting them. It works great with objects and lists just not dictionaries.

                                  Formatted Code Example
                                  var cList = new Dictionary<string, Customer>()
                                  {
                                  {"A123", new Customer("A123")},
                                  {"B246", new Customer("B246")}
                                  };

                                  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 and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Allow implict finally blocks

                                    {
                                    ... safe code incl. preparation code
                                    try { call risky function }
                                    ... more code to do regardless of if above succeeded
                                    try { call another risky function }
                                    catch(Exception ex) { compensate for failure}
                                    .... continue running my other code
                                    try { call risky function3 }
                                    .... continue running my other code including any tidy-up
                                    }

                                    The above is of course currently possible using explicit finally blocks.

                                    However it results in ugly nesting structures that do not reflect the logical structure of the code.

                                    Always-run preparation code is unidented/unidentified but any following try-up code (also always run) must…

                                    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 →
                                    • if finally & loop finally clauses

                                      A clause which is run after any of the conditions in an if tree are true. Note: When used with else, the finally clause will only run if any of the other conditions are true. Sort of like an else-else.

                                      And a final clause which is run if the loops exits from its own condition, not breaking. Instead of reduntantly checking the i variable. Should work for both foreach and for loops.

                                      Syntax:
                                      if (something)
                                      doOne();
                                      else if (something)
                                      doTwo();
                                      finally
                                      ifOneOrTwo();

                                      foreach (var item in collection)
                                      // run loop
                                      finally
                                      // do something

                                      Before:

                                      var done = true;
                                      if…

                                      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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                      • return void, returnif, returnsame, break on

                                        return [void operation]; - One line returns
                                        returnif [boolean operation]; - Returns if operation is true
                                        public int MyProperty { get; returnsame set; } - Doesn't set the value if it equals the current value.
                                        break [operation]; - Shorter breaks

                                        Example code:

                                        public WindowStyle Style { get; returnsame set; }

                                        public void DoSomething()
                                        {
                                        if (something)
                                        return Something();
                                        }

                                        returnif myVar;

                                        public void Check(int var)
                                        {
                                        if (var == 0)
                                        break doSomething();
                                        // something else
                                        }

                                        For better example view and all my suggestions visit http://www.jsmars.com/csharp.php

                                        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…)
                                          1 comment  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Add operation to automatic property set;

                                          Auto properties can have one line additions to set, making a function call or one operation possible.

                                          Suggested Syntax:
                                          public int Something { get; set; } += doSomething();

                                          For better example view and all my suggestions visit http://www.jsmars.com/csharp.php

                                          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…)
                                            1 comment  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base