Visual Studio IDE

Welcome to the Visual Studio UserVoice site. Let us know what you would like to see in future versions of the Visual Studio suite of products. This site is for suggestions and ideas. If you need to file a bug, you can visit our Developer Community website to get started. 

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

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

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

We look forward to hearing from you!

- The Visual Studio Team
Terms of Service and Privacy Policy

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. do not remove /clr:pure and /clr:safe from C++/CLI

    According to http://blogs.msdn.com/b/vcblog/archive/2014/06/13/compiler-switch-deprecation-removal-changes-in-visual-studio-14.aspx C++/CLI options /clr:pure and /clr:safe are being deprecated and will be removed in a future version of C++/CLI. That way it will no longer be possible to author pure managed libraries in C++/CLI which used to be useful to author constructs that were not possible in C# or VB. The suggestion to port the code to C# is quite silly because the reason why the code is in C++/CLI is usually that C# (or VB) cannot generate such code. Being forced to produce only mixed-mode assemblies limits portability of such assemblies and also their acceptance in some…

    117 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…)
      5 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
    • Nested namespace declarations

      I suggest to extend syntax of nested namespace declarations and provide alternative way similar to one implemented in C#:

      namespace Outer::Inner // declares nested namespace
      {
      struct Foo
      {
      };
      }

      Outer::Inner::Foo foo;

      That would be useful for codebases with high usage of nested namespaces especially with level of depth 3 or more.

      115 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…)
        11 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!

        89 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…)
          2 comments  ·  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?

          81 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…)
            2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
          • 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…

            76 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 →
            • 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.

              73 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…)
                5 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
              • Support C99 Variable Length Arrays

                VLAs are turning out to be common these days, making it impossible to build C code developed with other compilers.

                72 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…)
                  2 comments  ·  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++…

                  69 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…)
                    3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                  • Have C++ IntelliSense parser support GCC extensions, MinGW, and Cygwin toolchains

                    The IntelliSense parser for Visual C++ is separate from MSVC compiler, and will throw out IntelliSense errors that may or may not be accurate with actual C/C++ code errors.

                    This is very annoying when it comes to IntelliSense parsing GCC standard headers and libraries for MinGW and Cygwin toolchains, when we are using Visual Studio 2015 for Makefile projects.

                    Most of the time, IntelliSense will give 1,200+ errors related to not being able to understand GCC extensions, or GCC-specific codes for MinGW and Cygwin toolchains.

                    I am suggesting to the team to find ways to improve IntelliSense C++ parsing so…

                    67 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…)
                      4 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                    • Add C++ text editor option for pointer and reference spacing

                      In Tools->Options->Text Editor->C/C++->Formatting->Spacing, there are lots of options for various elements but peculiarly there isn't one for pointer and reference spacing, e.g.

                      T* t;
                      T *t;
                      T * t;

                      'Create declaration /definition' refactoring option always inserts probably least used form of T * t which I always need to fix-up.

                      61 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…)
                        2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                      • 60 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 →
                        • Reconsider position on c99/11

                          This has been declined before. However, I feel that Microsoft should look at this again to be more in parity with other operating systems.
                          A lot of C code is still in use in many places for numerical code. These libraries also tend to be unix only making windows a second class citizen.

                          Consider that gcc and clang, available on Linux and OSX, both provide a competitive c++ compiler as well as a c compiler. This puts windows developers for numeric tools at a disadvantage if they want to stick to using VS. ICC is available at an expense but…

                          59 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…)
                            2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                          • 58 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…)
                              under review  ·  3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
                            • Integrate Conan.Io package manger into visual studio

                              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

                              52 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…)
                                2 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.

                                49 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…)
                                  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

                                  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.

                                  46 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…)
                                    5 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)

                                    42 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…)
                                      2 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.

                                      41 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…)
                                        2 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

                                        39 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 →
                                        • Support inlining for functions returning unwindable objects

                                          Within deeply-templated codes, it seems quite common to call a function which simply forwards the arguments into another function, which again just forwards the arguments into another function, which again just do forwarding, and so on. As I know, current version of Visual C++ is not able to inline such a function if it returns an object with non-trivial destructor, whenever exceptions are enabled. This often makes a performance hit particularly when the level of forwarding is unavoidably deep and there are many arguments with not-so-small sizes. I very much hoped if the upcoming Visual C++ 2017 has solved this…

                                          37 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