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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  2. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  3. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  4. 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…

    162 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  5. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  6. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    24 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  7. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  8. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  9. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  10. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  12. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    11 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  14. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  18. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  20. 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
    (thinking…)
    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