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. Using Boolean(bool) as the "enum" Underlying Type

    In the C# and CLR the underlying type of an enum can be any integral type. If the bool(Boolean) type is used, the true/false aliases will be available specially in the ORM classes (for bit datatype).

    For example:
    public enum Gender : bool
    {
    Male,
    Female
    }

    or

    public enum Answer : bool
    {
    No = false,
    Yes = true
    }

    and then:

    Answer ans = Answer.Yes;
    if(ans){
    ...
    }

    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 "Copy Diff from Left to Right" button and vice versa

      Add "Copy Diff from Left to Right" button and vice versa

      VS 2015 is awesome. I really appreciate its speed and CodeLens and other things, but there is one I would like to ask you to improve: can you please add functionality like "copy diff from left to right" and vice versa to VS diff tool? I do not want to select piece of code, copypaste it and then remove the old one in the other file. I want one button which will be shown when I put cursor to a line of code and will do it for me…

      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 →
      • C++ variadic template args IntelliSense

        Example:

        std::vector<MyType> vect;
        vect.emplace_back(a, b, c) // Forwards a,b,c to MyType ctor.

        It would be great to have an IDE help with putting in the args, so far best solution is to write:
        vect.emplace_back(MyType(a,b,c,}));
        and then delete the explicit constructor (type)

        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 →
        • Allow covariant use of Func

          If C (child) is a subclass of P (parent), then anything that takes Func<P> as an argument should also be allowed to take Func<C>.

          In other words, if we have a class Cat which inherits from Animal, the following should work:

          public void Speak(Func<Animal> getAnimal) {
          // some implementation here
          }

          Cat myKitty = new Cat();
          Func<Cat> getCat = () => myKitty;
          getCat.Speak();

          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 →
          • 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 →
            • add to source control button should include all source control providers available

              bottom right of vs 2017 footer has button 'add to source control'
              it only shows GIT,
              behaviour expected:
              1. show source control providers that are installed. (i.e. vsts)
              2. when the solution is already added to a source control, indicate this by changing the button to view the source control explorer.

              0 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 →
              • Allow loading NuGet assemblies from CSX

                This is "must have" feature, if CSX should be really usable one day.

                We should be able to install nuget package and reference it from CSX without specifying relative or absolute path to the assembly.

                What's the problem:

                First of all, when we update nuget package to newer version, the path changes, which leads to runtime exceptions

                Second, it may not be trivial to determine, where the nuget packages are stored, since it may vary between environments (build server, dev machine, etc..)

                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  ·  NuGet Package Manager  ·  Flag idea as inappropriate…  ·  Admin →
                • Editor: Incrementally widen selection with consecutive CTRL+W

                  While it's good to finally have CTRL+W to select "word", it feels quite unfinished and limited in that it doesn't allow consecutive CTRL+W to widen the selection.

                  Example:
                  auto foo = ((typecast)bar);

                  Expected behavior:
                  1. Place cursor somewhere on "typecast".
                  2. Press CTRL+W.
                  3. "typecast" is selected.
                  4. Press CTRL+W.
                  5. "(typecast)" is selected.
                  6. Press CTRL+W.
                  7. "((typecast)bar)" is selected.

                  Actual behavior:
                  1. Place cursor somewhere on "typecast".
                  2. Press CTRL+W.
                  3. "typecast" is selected.
                  4. goto 2.

                  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 →
                  • In c++ projects link .h and .cpp files linked together in the tabs

                    In the bar with tabs there should be a way to link the .cpp and .h file together so they are next to each other. In that way you can always find the file easily in the tabs. See the attachment.

                    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  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                    • Fix the alignment of new Find All References + Allow easy disable

                      The new Find References with color coding is nice but is very hard to just look at the window and find what you need because some code is one line and some is two lines.

                      I like to put the filename column on the left but then I noticed that the code is not aligned. See attached Image

                      The code fragment should be centered vertically.

                      Also preferably there should be a faint line between each item. it is a very hard window to work with.

                      There should also be a way to easily disable it with a button. That is…

                      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 and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                      • Display the Solution Explorer, Team Explorer, Find Replace when the user hovers on top of it (when they are docked/auto-hidden)

                        Display windows like the Solution Explorer, Team Explorer, Find Replace when the user hovers on top of it's tab (when they are docked/auto-hidden)

                        It stays open as long as the mouse is on the expanded window/tab they are hovering over. The window will autohide/minimize again when the user's mouse exits the tab/expanded window.

                        The user also has the option to pin the window to keep it open.

                        I believe this will be really powerful

                        Thanks!

                        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 →
                        • Propagate vNext build information in TFS Warehouse and Analysis for reporting purposes.

                          On TFS 2015, vNext build information does not propagate to TFS warehouse. This makes it impossible to use TFS warehouse or TFS analysis for vNext build definitions.
                          Our dashboards and reports are broken since we moved to vNext.

                          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 →
                          • Intellisense For Delegate Arguments

                            Say you have a delegate

                            public delegate void LogFn(string message, params object[] format);

                            And you want to pass this as a parameter to a function:

                            public void DoSomething(LogFn logger);

                            Visual studio intellisense displays the same information you would display for a string, or an int... the type name. But for a delegate of this nature i would really like to see the method signature. Frequently i will be defining a Func<> or Action<> to represent the delegate so i need to know the type, number and order of the arguments.

                            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 →
                            • 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 →
                              • toggle comment

                                I'd have short cut key to toggle code block comment out and uncomment out.
                                On default kyeboard map scheme, to comment out code block, we use Ctrl+K, Ctrl+C, to uncomment out, Ctrl+K, Ctrl+U.

                                I wanna use "Ctrl + /" to toggle comment code block,
                                like in Visual Code.

                                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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                • To let "Live unit tests" available for the community version

                                  Hi there,

                                  Why the "Live unit tests" should NOT be available for the Community version?
                                  There are already few 3rd parties live test tools out there...As MS developer I would like to keep using MS tools cause you are doing very well guys. Please Add it for the COMMUNITY!! Thanks

                                  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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Add support for TLS 1.3

                                    Chrome 56 supports TLS 1.3.
                                    Cloudflare supports TLS 1.3 (https://blog.cloudflare.com/introducing-tls-1-3/)

                                    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 →
                                    • remember text entered in Add Reference search box when switching between reference sources

                                      I don't want the search box to get cleared when navigating to another source type (i.e. Assemblies/Projects/Shared Projects/Com/Browse).

                                      E.g. when I add a new reference, I start typing the name of the assembly I'm looking for. However, if the wrong source type is selected, I have to navigate to the correct one (which is acceptable), but then I have to retype the name because the search box got cleared.

                                      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 →
                                      • IsNullOrEmpty List

                                        provide IsNullOrEmpty method for the generic list, as you provided for string type, it could be very simple like this

                                        public static bool IsNullOrEmpty<T>(this List<T> list) =>
                                        list == null || list.Count == 0;

                                        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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Redirect std::cout or std::clog to Visual Studio Output window.

                                          Have either std::cout or std::clog output to the Visual Studio debug window, so users don't have to write macros or global functions that sends copies of everything to std:: as well as OutputDebugString().

                                          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