Visual Studio IDE

Announcement: Last fall, we migrated this forum to Visual Studio Developer Community to provide you one convenient and responsive system for all feedback. As the final step in the migration, this forum will be closed off completely on June 1st, 2019. We encourage you to visit Visual Studio Developer Community where you can now suggest new ideas, browse and vote on existing ideas, and engage with Visual Studio teams.

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. Support C++11 features

    Support C++11 features

    4,747 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    84 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    We have done more work on standards support including C++14 and C++17 features. For the full breakdown, see Stephan’s post on the VCBlog, http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx.

    We are closing this item but encourage you to submit specific feature requests along with a brief example of how support will help your efforts (unblocking, cross-platform support, etc).

    Thanks!
    Visual C++ Team (ebattali@microsoft.com)

  2. Speed up work on VC++

    It is obvious, from looking at the amount of unfixed bugs, and the woeful C++11 feature support, that the VC++ team is understaffed. For a company bragging about its "C++ renaissance", that's just absurd. For the sake of all your C++ customers, you really need to speed things up. I won't dictate *how* it should be done, but I can think of three obvious suggestions:

    1: allocate more resources. Whoever is in charge clearly doesn't think C++ is important. Not when the VC++ team consistently refers to their "compiler guy" (singular), and we get comments like "I am the only…

    3,979 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    39 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  3. 2,577 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    92 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    We will be adding this capability post Dev11 – please refer to the vcblog post for details: http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx

    thanks, and thank you for letting us know how important this was to you.

    Doug Turnure, VS Program Manager

    PS – Per request of a few folks, I’m going to go ahead and close this item out and release your UserVoice votes back so you can apply them elsewhere.

  4. Visual Studio 11 Express on Windows 7 and the ability to write non Metro C++ applications in it.

    With the release of Visual Studio 11 Beta there are currently two versions of Visual Studio Express, Visual Studio Express for Web and Visual Studio Express for Windows 8.
    There is no version of Express which can be used for regular Windows applications available for Windows 7. Even the Express for Windows 8 version forces Metro, especially on C++.
    You can't expect people who would like to use this version of Express to just go out and buy Windows 8 to use Express when it is released as RTM, or for people on Windows 7 to buy one of the…

    2,545 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    68 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    UPDATE: This SKU is now available for download – details here: http://blogs.msdn.com/b/visualstudio/archive/2012/09/12/visual-studio-express-2012-for-windows-desktop-is-here.aspx

    Thanks for all the feedback on this item. As you may have seen, we will plan to release a Visual Studio 2012 Express for Windows desktop this Fall. Full details are here:
    http://blogs.msdn.com/b/visualstudio/archive/2012/06/08/visual-studio-express-2012-for-windows-desktop.aspx

    Thanks,
    Doug Turnure – Visual Studio PM

    PS – I’m going to go ahead and close this item out and release your UserVoice votes back so you can apply them elsewhere.

  5. Improve MFC

    Like many developers we maintain and develop an extremely large enterprise MFC application. All in all about 1.5 million lines. Asides from the addition of ribbons and a few extra controls we have had very little improvements in how we can work with MFC or native Win32 apps (in fact, the speed has gone down and classwizard seems to have gone from bad to worse to gone). Can you consider:

    1. Improving the Dialog editor so that we can lay out dialogs with guides and the extra alignment options that are standard with C# - automatically spacing items correctly and…

    2,452 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    29 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  6. Multithreaded C/C++ linker

    We build more than 600 C++ projects. We invested a lot into breaking them into parallel build-able blocks but any HW upgrade give us almost nothing in the end as the linking process is utilizing only one CPU :(

    1,220 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    16 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    A more precise response:

    We have done a lot of work on link throughput in the past release, with features like /Zc:inline, /debug:fastlink and multi-threading the linker, the clean link performance has improved as measured by our household benchmarks (chrome, bingmaps, ogre3d and more). In addition to this we have also added more scenarios to incremental linking which now supports static libraries and LTCG builds (with /LTCG:incremental). For more information on these features, see http://blogs.msdn.com/b/vcblog/archive/2014/11/12/speeding-up-the-incremental-developer-scenario-with-visual-studio-2015.aspx.

    Thanks!

  7. Provide refactoring for C++

    Currently there is almost no refactoring support for C++. Even basic refactoring like renaming is missing.

    954 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    In Visual Studio 2015 we’ve been working on adding Refactoring to Visual C++. Here’s the list of features we support so far:
    • Rename symbol
    • Extract function (as pre-release VS extension)
    • Implement pure virtuals
    • Create function definition/declaration
    • Move function definition location
    • Convert to raw string literal
    • Precompile header refactor tool (as pre-release VS extension)

    For more information, please review this blog and Channel 9 video:
    http://blogs.msdn.com/b/vcblog/archive/2014/11/14/all-about-c-refactoring-in-visual-studio-2015-preview.aspx
    http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-33-C-Refactoring-in-Visual-Studio-2015

    We know we’re not done. Stay tuned for more announcements from us soon. But in the meantime we want to thank you for your support, return your votes and encourage you to spend them towards more specific asks in the C++ refactoring space – we’re keeping an eye on these and your input will influence the relative priority of the various refactoring features we plan to work on.

    Thanks!
    Visual C++ Team

  8. Create a native WPF UI library

    WPF is great for user experiences. C++ is great for performance. However, there is a big impedance mismatch between C++ and .NET (and no, managed extensions is not the solution, because the resulting language is no longer C++).

    I vote for a native WPF-like user interface library.

    783 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    11 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    It was announced by //BUILD/ conference that Windows 8 allows Metro style applications with a programming model based on XAML (the same technology WPF uses to describe the UI) and WinRT, a native library of components fully OO, accessible from C++.
    This programming model doesn’t apply to traditional desktop applications though. We forwarded this suggestion to the Windows team.

    Diego Dagum
    Visual C++ Community PM

  9. Support C++11 variadic templates

    Support variadic templates http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf

    I have created as a separate idea to determine the priority of this feature from the rest of C++11 features

    596 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  10. C++ compiler should warn about wrong member initialization order

    Every few years this suggestion emerges and I think now is the time for next iteration.
    In C++ the order of class/struct member initialization is determined by the order of member declaration and not by the order of their appearance in member initialization list. It is therefore extremely easy to to write a code that is very hard to find, e.g.:

    struct S {
    int a;
    int b;

    S( int i ) : b(i), a(b+1) {}
    };

    int main()
    {
    S s(42);
    }

    and we have garbage in s.a what might be not obvious for a novice programmer.
    GCC issues…

    445 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    This warning has been added in Visual Studio 2017 (15.3 update). If you want to take advantage of it, you will want to turn on /WX (Enable all warnings) or /w35038 (to enable just this warning)

    Thank you for your votes — have them back and put them to good use again!

    — Visual C++ Team

  11. add a cl.exe option for system headers like gcc's -isystem

    msvc is the only reason we have to clutter our code with
    #ifdef _MSC_VER
    #pragma warning(push, 0)
    #endif

    blocks.

    413 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  10 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  12. Make StepInto a std::function go directly to the implementation without stepping into std library code.

    I have code like this:

    #include <functional>
    #include <iostream>

    void display() {
    std::cout << "Hello" << std::endl; // step into should go here
    }

    int main() {
    std::function<void()> f = &display;
    f(); // Step into here should go directly to "display()"
    }

    If I'm sitting on the breakpoint line: "f()" and I do "Step Into", it steps into a bunch of std library code and I have to keep doing Step Into many times before eventually stepping into the implementation of my function. It's worse if the function signature involves lots of arguments because you also have to step over…

    313 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    15 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  13. ISO C++ wrappers for WinRT

    Now that WinRT has been unveiled, a lot of people have criticized the C++/CLI-like quasi-C++ that is the recommended way to interface with the API. And honestly, it looks reasonably nice. If we're willing to give up all hopes of using another compiler than VC11, and don't mind non-standard code in our C++ application, it seem a nice way to interface with WinRT.

    But how about an alternative?

    How about offering a "best effort" library-only ISO C++ wrapper to make WinRT usage as simple as possible without relying on library extensions? It doesn't have to be as clean and pretty…

    308 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  14. Decouple C++ compiler releases from Visual Studio releases

    In VS2010 and subsequently in VS2010sp1, many features of C++11 was implemented. But it is still far from covering the full spec. And we can assume that the full spec will not be available even in VS2011(or v.next). Because, MS is polling developers for prioritizing certain features of C++11. May it will take some time to have a fully supported C++11 with VS. And that is true for almost all the C++ implementations. And probably, the C++ compiler supplied with VS v.next will not be usable with VS2010.

    We can see, C++ compiler releases(full version or service packs) are coupled…

    278 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  15. Add support for AVX-512 in MASM

    Intel's roadmap shows AVX-512 will be available in Xeon soon. I could be developing and testing code now using Intel's emulator. This is very important for high performance computing.

    265 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    As Andrew mentioned, we have implemented partial AVX-512 support in MASM and the compiler. Right now, it’s in the form of intrinsic functions and full support will come in a future VS release.

    For more details check out this blog: https://blogs.msdn.microsoft.com/vcblog/2017/07/11/microsoft-visual-studio-2017-supports-intel-avx-512/

    We are marking this suggestion as complete and returning your votes. Please put them to good use again!

    — Visual C++ Team

  16. Make the C++ project properties dialog resizable

    The C++ project properties dialog is a pain to work with. Just try to enter a set of preprocessor defines for a serious project.

    This has been vehemently complained about by users as long as I'm working with VC (1999), and you haven't managed to flip the resizable switch on it. Yet, in the same decade, you have found the resources to create a bunch of whole new languages and a VM to run them in, put a form designer into the IDE, spend incredible amounts of man years on the compiler used for Intellisense...

    At least since VC7, that…

    260 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  17. Support C++ initializer lists: std::vector<double> v = { 1, 2, 3.456, 99.99 };

    See http://www2.research.att.com/~bs/C++0xFAQ.html#init-list

    Some examples:

    vector<double> v = { 1, 2, 3.456, 99.99 };

    list<pair<string,string>> languages = {
    {"Nygaard","Simula"}, {"Richards","BCPL"}, {"Ritchie","C"}
    };

    map<vector<string>,vector<int>> years = {
    { {"Maurice","Vincent", "Wilkes"},{1913, 1945, 1951, 1967, 2000} },
    { {"Martin", "Ritchards"} {1982, 2003, 2007} },
    { {"David", "John", "Wheeler"}, {1927, 1947, 1951, 2004} }
    };

    220 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  18. include graphics debugger in VS2012 Express Edition

    Because PIX is now officially replaced with the graphics debugger ( and even crashing with anything DX11 on Win8 ), but graphics debugger is not included in the Express Edition, it is now literally impossible to develop anything DX11 because of the lack of any means to debug.

    Homebrew software, demoscene programmers, after-work tinkers were always a significant driving force for MS and DirectX, but now it is impossible for anyone to learn/play/experiment with DX at home. I suggest to include the graphics debugger just as PIX was included before in the DX SDK for free.

    209 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →

    I want to personally thank you for taking the time to share this suggestion. With Visual Studio 2015 and Visual Studio 2017, the graphics debugging features have been available with Visual Studio Community. It is also available in Visual Studio Express 2015. Again, thank you for sharing with us!

    Paul Chapman
    Program Manager, Visual Studio

  19. IsAnyNull Compiler Feature

    We often find ourself writing statements such as:

    If ( (a !=null) && (a.b !=Null) && (a.b.c !=null)
    {
    // Do something with c
    }

    It would be great if there was a compiler feature that would generate
    the individual check without having the developer duing the tedious work with a statement such as a.b.c.IsAnyNull()

    208 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    13 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  20. Make "Go To Definition" faster (C++)

    Clicking on that option often takes 5-10 seconds and it completely hangs the GUI.

    201 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  8 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1 3 4 5 6

Feedback and Knowledge Base