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. 

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. Exception Bubbling

    It would be very nice if the IDE can detect all types of exceptions that can be thrown by a function. Sometimes, when dev write functions they forget to mention that their function could throw certain exceptions, and there is no way to verify that. It would be very nice to have the IDE telling me all the exceptions possible from a function.

    Similar to Java, but Java has it in the syntax of the function.

    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 →
    • Option in MVC: Go to view, when none exists the question "add view"

      When you're in a controller and select "go to view", and there is none, instead of a popup "unable to find a matching view", ask the question " create view instead"? which directs you to the dialog of adding a view.

      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 →
      • tfs permission check in policy override

        I would like to see permission to ensure that certain users are not able to override check-in policy.

        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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
        • pending changes include exclude remember

          In the Pending Changes dialog it would be nice to:
          1. easier way to expand or collapse both include and exclude section
          2. do not refresh when moving items from exclude/include on the folders that are collapse

          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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
          • Add .{} syntax in C#

            If I have a class of constants:

            public static class ConstantCodes
            {
            public static readonly string CodeA = "A";

            public static readonly string CodeB = "B";

            public static readonly string CodeC = "C";

            public static readonly string CodeD = "D";
            }

            or a enumeration:

            public enum ConstantCodes
            {
            CodeA = 0,
            CodeB = 1,
            CodeC = 2,
            CodeD = 3
            }

            then if I want to select a subset, I write:

            var someCodes = new[] { ConstantCodes.CodeA, ConstantCodes.CodeC, ConstantCodes.CodeD };

            But I want to write more simply:

            var someCodes = ConstantCodes.{ CodeA, CodeC, CodeD };

            Function ".{...}" should return IEnumerable<T>…

            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 →
            • Add multiple params arguments in methods

              Suppose we have a method that takes two collections of flags:

              public enum UserTypes
              {
              Internal = 0,
              External= 1,
              Service = 2
              }

              public enum UserActivities
              {
              Empty = 0,
              Download = 1,
              Upload = 2
              }

              public Task CreateUserTask(long userId, UserTypes[] userTypes, UserActivities[] userActivities )
              {
              ...
              }

              If I call this method, I should write:

              CreateUserTask(15, userTypes: new[] { UserTypes.Internal, UserTypes.Service }, userActivities: new[] { UserActivities.Upload, UserActivities.Empty });

              But I want to write more simply:

              CreateUserTask(15, userTypes: UserTypes.Internal, UserTypes.Service; userActivities: UserActivities.Upload, UserActivities.Empty );

              So, in general, the syntax would look like:

              var x = CallMethodA(dataOne: A.X, A.Y,…

              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 →
              • Projects

                I have noted that Xamarin Forms has a config issue due to the nugget manager which can cause the project not to run even the startup app.
                My suggestion would be to add a stub that updates to stable version for project automatically with a support button that addresses bugs in software releases as example Xamarin not functioning or running wlakthroughs or even samples.

                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  ·  Mobile App Development  ·  Flag idea as inappropriate…  ·  Admin →
                • allow multiple search terms in Options > Keyboard > Show commands containing

                  When I currently search for "delete line" or "line delete", no commands are shown. But they should be, since both of my search terms lead to too many results.

                  Additionally, each command should have a brief description. I currently have to choose between Edit.BriefLineDelete and Edit.LineDelete, with no clue what's the difference between these commands.

                  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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                  • Provide a quick action to cast into expected type

                    In this code:

                        double index = 3.0;
                        return "string"[index];

                    There should be a quick action offering me to cast the "index" expression to the expected type, in this case "int".

                    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 →
                    • Give button selection priority over focus change.

                      Button selection in Games should have priority over focus change.

                      Especially when time of play is involved. Many times I have been slowed down by having to return to a button which I have already selected. I consider this a bug! I am using a mouse to play fast in MS Sudoku.

                      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  ·  Games  ·  Flag idea as inappropriate…  ·  Admin →
                      • provide a quick action that corrects for into foreach

                        I often write this:

                        for (var element in list)

                        This should be automatically corrected into:

                        foreach (var element in list)

                        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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                        • Provide a 'Use HTTPS' option when creating a new web application

                          When creating a new web application in Visual Studio such as Web API app or MVC app... In the create project dialog, a user should have to option to 'Use HTTPS' by default for the web application.

                          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 →
                          • 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  ·  Cloud  ·  Flag idea as inappropriate…  ·  Admin →
                            • 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 →
                              • Non-Compile non-code Projects for Visual Studio

                                Solutions folders are "virtual" folders that behave very differently from "project" folders that directly match the file tree.

                                We often desire the ability to have large folder full of items that are not directly associated with any particular "project" in Visual Studio - for example, a pile of powershell scripts used by the build system. Or shared references that are not being managed by NuGet. Or web-projects that aren't ASP. Or documentation.

                                Managing these objects with Solution Folders as non-project items is extremely tedious.

                                Since there is no interest in making solution folders easier:
                                https://connect.microsoft.com/VisualStudio/feedback/details/642861/solution-folders-automatically-mapped-into-physical-folders

                                could we make projects handle…

                                6 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 →
                                • excel

                                  Import Test Cases from Excel sheet with test steps included.

                                  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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Prevent accidental/unintentional install of "Blend". This would save hours of uninstalling and reinstalling to end up with the right ap.

                                    Prevent accidental/unintentional install of "Blend". This would save hours of uninstalling and reinstalling to end up with the right ap. Uninstall should complete in under 10 seconds. It should not take minutes to delete files. My OOBE installing from corpnet was horrible mainly due to receiving Blend and having no idea what it is and simply working on the principle of need-to-get-rid-of-it-to-prevent-future-loss-of-productivity.

                                    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 →
                                    • support stdatomic.h in C, for both c1 and clang (clang get Unexpected atomic instruction -- use Windows interlock intrinsics)

                                      support stdatomic.h in C, for both c1 and clang (clang get Unexpected atomic instruction -- use Windows interlock intrinsics)

                                      10 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 →
                                      • Update WebBrowser control

                                        It would be wonderful if you would make the WebBrowser control an instance of Edge instead of old IE

                                        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  ·  Windows Forms  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Retain member order when using "Implement Interface" quick action

                                          In previous Visual Studio versions, using the "Implement Interface" action in C# would keep the inserted members in the order they were declared in the interface. In VS2015 the inserted members are in alphabetic order.

                                          When defining an interface, the developer is highly likely to order members in a way that makes sense, such as grouping by logical association, reordering renders the tool less 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…)
                                            0 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base