Visual Studio IDE

Announcement: This forum has been migrated to provide our customers one convenient and responsive system for all feedback. You can now suggest new ideas, browse and vote on existing ideas in the Visual Studio Developer Community. To learn more about the migration to Visual Studio Developer Community please check out the release blog post.

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. Improve IntelliSense tooltip for make_shared/make_unique/emplace_back/etc

    With the new C++11/14 support, and use of all the perfect forwarding functions, the tooltip with help for parameters to functions have gone lost. Normally while writing a call to a constructor, you would get to see what parameters it takes, and what type they are, etc. Now all you get is an info saying "_Types &&... _Args", or so. IntelliSense should really either have an internal list of functions to treat special, or even better, have a pragma, attribute, or special comment that can be placed at a function to mark it as a perfect forwarding proxy. Maybe something…

    137 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      1 comment  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
    • Include what you use

      https://code.google.com/p/include-what-you-use/
      Can we have something like this CLang based tool which will remove unnecessary includes?

      121 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
      • Have a version of Windows.h that doesn't define macros

        From time to time I run into a collision between code and macros defined in Windows.h. The macros cause unintentional expansion of parts of my code or third party code and when they do waste a lot of time in trying to find workarounds.

        Please introduce a WindowsWithoutMacros.h that defines the Win32 API, but uses proper C++ functions instead of macros. I'm sure for all the functions ending XXXW or XXXA some inline functions could wrap the dispatching.... well, I'll leave the implementation to you. There must be better ways than the current macro mess.

        119 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          5 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
        • 104 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
          • Improve CMake support & integration

            In general, I'd like to see improved CMake support (e.g. Edit & Continue doesn't work out of the box, profiling in x64 requires adjustments, ...) for C++ projects. Also integration with CTest could be improved.

            I would also very much like to be able to create the new VS2015 Android project in CMake, generate a VS solution file and then build & debug it, instead of only using a sln.

            Only like that the code can be fully cross-platform compatible!

            102 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
            • Add option to disable "References" folder in Solution Explorer tab.

              Add option to disable "References" folder in Solution Explorer tab. One suggested location for such an option could be Tools > Options > Text Editor > C/C++ > Advanced > Disable References Folder [True | False]

              97 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
              • Please support newer version of OpenMP

                This suggestion is migrated to Developer Community. Please use below link to view the current status.
                https://developercommunity.visualstudio.com/content/idea/351554/please-support-newer-version-of-openmp.html
                VC only support OpenMP 2.0 for a long time.
                Could please update it?

                96 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  5 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                • Support __forceinline on C++ lambda expressions

                  This suggestion is migrated to Developer Community. Please use below link to view the current status.
                  https://developercommunity.visualstudio.com/content/idea/351580/support-forceinline-on-c-lambda-expressions.html
                  clang and gcc both have supported force-inlining lambda expressions for years, but in Visual C++ there's still no way to do this.

                  I've attached a sample cpp file to illustrate the problem. Or view it interactively here: https://repl.it/LM8G/11

                  Because a lambda is just a class with operator(), and we can manually define such a class having the operator() forceinlined (as in the above workaround), I see no reason why VC++ could not support forceinlining a lambda.

                  Of course, in the above example the…

                  93 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                  • Integrate Conan.Io package manger into visual studio

                    This suggestion is migrated to Developer Community. Please use below link to view the current status.
                    https://developercommunity.visualstudio.com/content/idea/351541/integrate-conanio-package-manger-into-visual-studi.html
                    Conan.IO is a platform neutral package manager for C++.
                    It is the only package manager that can handle the packages in a compiler and platform neutral way. Nuget and vcpkg are only available on windows.

                    The problem with conan.io is that there is an effort to learn it. This effort could be improved if there would be an integration into Visual Studio.

                    Something like the nuget integration would help a lot.

                    Here a presentation about conan.io
                    https://www.youtube.com/watch?v=xvqH_ck-5Q8

                    89 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      5 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                    • code metrics

                      Support C++ code metrics

                      When I do `Analyze` -> `Calculate Code Metrics` on a c++ project I get `The project target file '***.lib' contains no managed code.

                      85 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        4 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                      • Open-source Image Watch plugin

                        This suggestion is migrated to Developer Community. Please use below link to view the current status.
                        https://developercommunity.visualstudio.com/content/idea/351613/open-source-image-watch-plugin.html
                        It would be awesome if Microsoft open-sourced the Image Watch plugin for VS2017. It could be improved in various ways, but MS doesn't seem to have too many resources to put time into it. I am sure the community would pick this up, or at least fix something if it's broken.
                        Apparently there is willingness and interest within MS to open-source Image Watch but there needs to be sufficient community interest!

                        83 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                        • Support JavaDoc / doxygen style code comments for C++ intellisense

                          XML documentation provides some benefit for intellisense, but it is very unwieldy for C++ (and unusual within the C/C++ ecosystem in general)

                          82 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                          • 82 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              under review  ·  3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                            • IntelliSense support for C++ Modules

                              This suggestion is migrated to Developer Community. Please use below link to view the current status.
                              https://developercommunity.visualstudio.com/content/idea/351558/intellisense-support-for-c-modules.html
                              IntelliSense support for C++ modules would be highly appreciated. At its current state, it's just unusable, even for testing purposes.

                              The code in the image is fully functional and compiles just fine, yet it's cluttered with IntelliSense error messages and code-completion naturally doesn't work either

                              74 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                1 comment  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                              • Official opening of WTL support

                                Total is well known, WTL based on ATL, it was an excellent Win32 application development framework. Relative to the MFC,WTL a more lightweight, high efficiency, the links generated by the small size of the program. My only regret is that while WTL is initially within Visual Studio release, WTL is not supported by the Visual Studio official. I think, Microsoft to retain developer, especially C++ developer, in UI framework Shang does needs efforts, MFC bloated and old, ATL does not too for GUI program, pure SDK of program complex degrees too high, most manufacturers in using Visual Studio using C++…

                                72 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                • Support c++11 unique_ptr and shared_ptr with C++/CLI

                                  C++11 introduced move and unique_ptr, shared_ptr and weak_ptr. This new types highly improve the productivity and the robustness of C++ code. When we implement wrapper/adapter for the new for C++ code that uses unique_ptr/shared_ptr/weak_ptr we have to somehow return to raw pointers because it is only possible to store raw pointers inside of managed classes.
                                  When it is not possible to somehow allow unique_ptr/shared_ptr/weak_ptr as members of managed C++/CLI classes (ref class/struct) my suggestion is to use a similar approach as with gcroot and to provide a wrapper for that pointer types.

                                  67 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    4 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                  • provide an option to install Visual Studio 2017 15.2 or make it possible to update from 15.0 to 15.2

                                    This suggestion is migrated to Developer Community. Please use below link to view the current status.
                                    https://developercommunity.visualstudio.com/content/idea/351570/provide-an-option-to-install-visual-studio-2017-15.html
                                    We need an option to install 15.2 or to update 15.0 to 15.2 without automatically updating to 15.3.x.
                                    Please make this possible with a setup program, with an offline istaller or even online. Thanks.

                                    65 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      8 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Add IntelliTest for C++ native apps

                                      I just saw in the VS2015 launch video how IntelliTest works for C# and I would love to see similar functionality for native desktop C++ apps.

                                      With tools available like libFuzz from the LLVM project, this would actually hopefully not be as hard as it sounds to add at first glance.

                                      Add IntelliTest for C++ native apps

                                      55 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        1 comment  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Implement the C++17 [[fallthrough]] annotation and add an optional compiler warning for non-annotated switch fallthroughs

                                        The accidental omission of a 'break' statement in a 'switch' is a very common source of bugs. C++17 has approved [[fallback]] as an official way of annotating intentional fall-throughs.

                                        It would be very helpful to programmers if Visual C++ could implement support for this annotation quickly (i.e., before C++17 is fully ratified, which could take quite a while), and also implement an optional compiler warning for when a non-annotated fall-through is found.

                                        Clang already supports this via the -Wimplicit-fallthrough option (see http://stackoverflow.com/a/27965827/434413), but Visual C++ programmers currently have no such option

                                        48 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          1 comment  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Please add an option to auto-indent the code after an access specifier

                                          Please add an option to auto-indent the code after an access specifier.

                                          Two questions were asked about this on StackOverflow, and I myself very much desire this capability:
                                          http://stackoverflow.com/questions/20695923/indenting-issue-after-access-specifiers-in-visual-studio-express
                                          http://stackoverflow.com/questions/31908467/how-to-change-the-indentation-of-code-after-access-modifiers-in-visual-studio

                                          It's very simple, as the second link put it:

                                          "I would like to get this indentation when working with classes / structs:

                                          class MyClass
                                          {
                                          public:
                                          MyClass();
                                          }

                                          However the text formatting option only allows for either this:

                                          class MyClass
                                          {
                                          public:
                                          MyClass();
                                          }

                                          or that:

                                          class MyClass
                                          {
                                          public:
                                          MyClass();
                                          }"

                                          Thank you!

                                          47 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

                                          Feedback and Knowledge Base