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. 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 →
    • C++ IntelliSense should hide privately inherited members

      IntelliSense already hides private members that are inaccessible, but it still shows public members that have been privately inherited. Example:

      struct A {
      int x;
      };

      class B : private A {
      int y;
      };

      B foo;

      When you type "foo.", IntelliSense suggests "x", even though it is not accessible

      28 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 →
      • Replace MFC with something like Nana C++

        I shouldn't have to convince you that it makes sense to have a nice UI toolkit for C++. Along with MFC, a handful of C++ UI toolkits exist that have enough features to create full featured applications. But, they all rely on custom types that are no longer needed when using modern C++.

        Consider creating something like Nana C++ where modern C++ is embraced and CString and CArray are thrown out the window.

        Something cross platform would be great even if it required using a subset of features.

        6 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 →
        • Allow precompiled headers to be shared between projects

          This suggestion is migrated to Developer Community. Please use below link to view the current status.
          https://developercommunity.visualstudio.com/content/idea/351048/allow-precompiled-headers-to-be-shared-between-pro.html
          In Visual Studio 2008 and earlier, I believe you could (by an unsupported method) allow one project to generate a precompiled header which other projects could then use. But I understand this is not possible, or only works in limited ways in VS 2010 and later.

          Please add official support for allowing a precompiled header to be shared between projects.

          As a nice to have it would also be ideal if more than one precompiled header could be used by a project so…

          564 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            24 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
          • Add API for invoking VC++ compiler

            This suggestion is migrated to Developer Community. Please use below link to view the current status.
            https://developercommunity.visualstudio.com/content/idea/351598/add-api-for-invoking-vc-compiler.html
            It would be great to have an API for the C++ compiler. To create better tools that implement support for the VC++ toolchain, it would grant a great performance benefit for invoking the compiler programatically.

            - No seperate process creation.
            - Include dependency parsing without /showincludes option.
            - Compiling sources dynamically without writing them to the disk.
            - Other benefits.

            I suppose it would not take too much effort to provide such an API, as the compilation is already separated to different dlls…

            768 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 →
            • Allow deprecated attribute to be used with Treat Warnings As Errors

              This suggestion is migrated to Developer Community. Please use below link to view the current status.
              https://developercommunity.visualstudio.com/content/idea/351665/allow-deprecated-attribute-to-be-used-with-treat-w.html
              Currently, one can not use [[deprecated]] with /WX (Treat Warnings As Errors), without causing a compilation error due to the warning generated by the deprecated attribute.

              As code bases get larger and change over time, it's important to be able to give visibility to deprecated code use while maintaining warnings as errors without it resulting in a compilation error.

              Clang provides similar functionality with the -Wn-error=foo command-line switch.

              It would be nice if we could either:
              * Promote ALL warnings to errors, except…

              15 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 →
              • Missing formatting option for C++ pointers and references

                This suggestion is migrated to Developer Community. Please use below link to view the current status.
                https://developercommunity.visualstudio.com/content/idea/351714/missing-formatting-option-for-c-pointers-and-refer.html
                There seems to be no way to set the desired style for pointers and references in the C++ code formatting options, i.e. placing the asterisk or the ampersand next to the type, next to the variable or keep it as is.

                This seems like a basic code formatting option that should have been implemented from the beginning, especially with the new refactoring feature. The generate method implementation feature always put <Type> * <name> or <Type> & <name>, no matter how the user declared…

                13 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 →
                • Document /d2cgsummary and other internal compilation metrics flags

                  This suggestion is migrated to Developer Community. Please use below link to view the current status.
                  https://developercommunity.visualstudio.com/content/idea/351601/document-d2cgsummary-and-other-internal-compilatio.html
                  There was a blog post by Aras Pranckevičius about an undocumented compiler flag /d2cgsummary. It would appear that the backend has the ability to report certain metrics that could possibly help diagnose unusual compilation times.

                  Slow compile times are a pain to figure out. Properly documenting these flags (and adding more!) could help us stay sane and happy.

                  210 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 →
                  • Shut up about "C++ Intellisense information may be out of date, generate CMake cache to refresh"

                    The highlighted yellow bar is distracting me. I don't need the Intellisense, but I really want to dismiss that line, clicking Generate doesn't help because there are some errors that I don't care, and clicking settings to ask it never generate doesn't work out either.

                    32 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 →
                    • Allow me to link Visual C++ filters to specific directories

                      Please give me a way to associate a directory for a given filter (ie folder) in VC++. The directory would be used as the default when I click on a filter and run the Add New wizard. This would help greatly on larger projects with elaborate directory structures.

                      Here is an example of how the current setup is maddening. Imagine I am working on something that has a directory structure like this

                      \Foo
                      \build
                      \msvc << VC++ files here
                      \brandX << build/make files for your competition
                      \include
                      \Algorithms
                      sort.h
                      \Collections
                      vector.h
                      \src
                      \Algorithms
                      sort.cpp
                      \Collections
                      vector.cpp

                      I can create Filters…

                      336 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        11 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                      • Show full macro expansion in QuickInfo Tooltips

                        This suggestion is migrated to Developer Community. Please use below link to view the current status.
                        https://developercommunity.visualstudio.com/content/idea/351759/show-full-macro-expansion-in-quickinfo-tooltips.html
                        The ability to show macro expansions in quickinfo tooltips (https://blogs.msdn.microsoft.com/vcblog/2018/05/07/macro-expansions-in-quick-info-tooltips/) was a great addition.

                        The only problem is that it shows only small amount of the expansion, so any macro of substance cannot be visualized.

                        I would like to request the ability to show the full macro expansion in the quickinfo tooltips (or perhaps provide some other way of displaying it)

                        4 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 →
                        • Gray out if constexpr block when condition is false at compile time

                          Graying out inactive #if and #ifdef blocks exists for a while. Now with adding support for if constexpr it could be a good idea to apply that feature for this too.

                          1 vote
                          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 →
                          • Provide C++ Library Fundamentals TS v2

                            MSVC++ 2017 doesn't provide the library fundamentals v2 header files as part of CRT. It would be super awesome if MSVC++ 2019 shipped with this implemented and would be a nice stepping stone on the road towards C++20.

                            https://en.cppreference.com/w/cpp/experimental/lib_extensions_2

                            As you can see, there's not much there, most of it should be straightforward and simple enough to implement. However, one feature, the std::experimental::source_location class, requires compiler support in the form of a new intrinsic or builtin to populate an instance of this class with the correct metadata at the point of construction. Having a working source_location class as a part…

                            1 vote
                            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 →
                            • so your get started with c++ page gets me to a breakpoint, now how the **** do i continue. need a little extra documentation ;)

                              so your get started with c++ page gets me to a breakpoint, now how the **** do i continue. need a little extra documentation ;)

                              1 vote
                              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 →
                              • Automatic fix for guideline checker

                                clang-tidy provides automatic fixes for some of the checks. On the other hand you have a much larger number of guideline checks. It would be great to have automatic fixes for some of those too. Especially those which require many easy changes (e.g. noexcept/C26439/F.6). Is this planned?

                                3 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 →
                                • Restore full functionality of the MFC "Add Function" wizard for adding a function to classes

                                  The Add Function wizard for adding a new function to a class has been changed in the last release(s) (15.8.x). Previously, when adding a function you could specify, inter alia, the types and variables to the function. This capability has been removed. So, now, the arguments to the function have to be entered manually in both the .h and .cpp files. This was a nice feature and it should not have been removed.

                                  1 vote
                                  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 →
                                  • have a predefined macro for machine name

                                    It would be helpful to me to have a predefined macro _MACINENAME that would evaluated to the name of the machine being comiled upon.
                                    Why? Adding a preprocessor definition alters the vcxproj file, which in turn gets flagged a difference to be committed. Often I want to do a test on production code that will never get out into the wild. Having to make the preprocessor definitions is a real pain. if I could
                                    #if _MACHINEMAME == "MyMachineName"
                                    it would save a lot of grief.

                                    1 vote
                                    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 →
                                    • Add Macro ${buildRoot} to tasks.vs.json

                                      I am using Visual Studio 2017 to build a cross platform project with CMake and the "Open Folder" feature.
                                      This project has dependencies that needs to be installed so I add a task to my tasks.vs.json in order to install them into my CMAKE_BINARY_DIR which corresponds to the macro ${buildRoot} of the file CMakeSettings.json. But the problem is that there is no way of accessing this macro from tasks.vs.json. I have to hardcode the path for every configuration so I need also to create tasks for every configuration. If I had access to ${buildRoot} I only need one task for…

                                      20 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 →
                                      • Provide enhanced Macro debugging capabilities (C++)

                                        This suggestion is migrated to Developer Community. Please use below link to view the current status.
                                        https://developercommunity.visualstudio.com/content/idea/351697/provide-enhanced-macro-debugging-capabilities-c.html
                                        Please consider providing enhanced Macro debugging capabilities.

                                        - When entering debug view, macros are automatically expanded (the source code is transformed in debug view and all line numbers are updated accordingly).

                                        - This will allow users to transparently step into macro code and understand what it is going on.

                                        - A huge quality of life boon could be attained by implementing this suggestion; macros are notoriously difficult to debug in part because of poor debugger support.

                                        - This should be optional; users who…

                                        4 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 →
                                        • VS2017 and ATL

                                          I propose not to forget about ATL and implement it qualitatively and without errors. At you in each version since VS2010 one and the same errors !!! That class is confused with the addition of an object. That in general about ATL a template have forgotten !!! This is the only thing that is valuable you have created in your VS.

                                          1 vote
                                          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 →
                                          ← Previous 1 3 4 5 27 28

                                          Feedback and Knowledge Base