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. C++ Support With WPF

    C++ Support With WPF

    3 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 →
  2. need offline surport docs

    need offline surport docs

    1 vote
    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 →
  3. Provide IntelliSense when type can be deduced from SFINAE

    This suggestion is migrated to Developer Community. Please use below link to view the current status.
    https://developercommunity.visualstudio.com/content/idea/351670/provide-intellisense-when-type-can-be-deduced-from.html
    When utility like `enable_if` is used, type of declared variable can actually be deduced.
    Like this:
    ```c++
    #include <utility>
    #include <string>

    using namespace std;

    template <typename T, typename = enable_if_t<is_same_v<remove_reference_t<T>, string>>>
    void func(T&& s)
    {
    auto c = s.size(); // <<< Here
    }

    int main()
    {
    func(string{ "asdfg" });
    return 0;
    }

    ```

    As I wrote `s.` in function template `func`, no IntelliSense was provided.
    But from we already know parameter `s` is of type `string` (at least in some reference form), where…

    6 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 →
  4. Whenever a file is added to a project from the IDE menu, its position in the .proj file should be randomised in order to make merging easier

    If two developers working on totally different features add a file to the same soon, they will need to manually merge their git PRs. If the position that any given file was inserted into the .proj file then most of the time two developers would not get the same position, and a merge would happen automatically.

    1 vote
    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 →
  5. mfc toolbar in dialog editor

    Add toolbar control to dialog editor in mfc.
    Thanks

    1 vote
    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 →
  6. "Lack of Syntax Coloring for IDL files in VC++" => Please add this feature which will be appreciated as C++/WinRT coding takes off.

    Lack of Syntax Coloring for IDL files in VC++" => Please add this feature which will be appreciated as C++/WinRT coding takes off.

    1 vote
    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 →
  7. 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…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  8. C++ Intellisense to suggest includes for unresolved types

    Add the ability for C++ Intellisense, when detecting an unresolved type, to suggest a header file to include. Competing IDE's have this capability (CLion has it built-in, VSCode has it via https://marketplace.visualstudio.com/items?itemName=ajshort.include-autocomplete).

    3 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 →
  9. Make Visual Studio compiler to stop of first error

    When I build a project with fresh changes in source code the rebuild may generate hundreds of errors. Commonly all errors except first one don't make sense as it could be i.e. syntax error and all next are just consequence of the first one. I have to abort the build and scroll to very first error message, fix it and start over. It is especially annoying if solution contains many projects which are built simultaneously. In this case build messaging is just a mess.

    It would very nice to run the build until first error occurs and automatically stop the…

    1 vote
    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 →
  10. New OMP Support 4.0 for improved parallelization

    The support for this tool is over a decade out of date. It needs to be updated so that it can function with newer higher end parallelization problems that the old version is limited by.

    3 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 →
  11. 1 vote
    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 →
  12. Add a macro to determine if you are compiling as a static lib (same for application )

    For some reason only _DLL and _WINDLL exist. But it would be really helpful to have something like _LIB or _WINLIB to determine if you are bulding as a static lib or not.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  13. Better keyword highlighting customization

    Separate highlighting option to change color for keywords that are types like char, float and possibly even auto would greatly improve the highlighting quality.

    Visual Studio Code already does this and it really makes a big difference as there are a lot of keywords in c++ that can really take up a lot of screen space making their color stand out too much.

    3 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 →
  14. Add Compile solution / selection / project

    Refactoring non-trivial projects (something 500k loc or above) often requires refactoring work that is time consuming in MSVS.

    1- Compile to collect compilation errors,
    2- Fix root-cause issues,
    3- Recompile
    --> Loss of all other warnings unless you enable "warnings as errors", which may be inconvenient at this stage,

    This forces users to do rebuilds or clean builds repeatedly, wasting a lot of time.

    During this phase, I'd like the option to select one or more projects and compile-only (skip link, build steps, etc).

    Bonus points if this option can be used with, say, a shift-key modifier to tell it…

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
  15. I need cpp catch test TFS agent

    I have ccp catch unit testing, I need TFS test agent for them

    1 vote
    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 →
  16. Forwarding large classes by value not correctly optimized

    Following code

    extern auto otherMethodByValue(std::string_view input) -> void;
    auto thisMethodByValue(int value, std::string_view input) -> void
    {
    otherMethodByValue(input);
    }

    Generates this assembly (compiled with /Ox)

    00000 48 83 ec 38 sub rsp, 56 ; 00000038H
    00004 0f 10 02 movups xmm0, XMMWORD PTR [rdx]
    00007 48 8d 4c 24 20 lea rcx, QWORD PTR $T1[rsp]
    0000c 0f 29 44 24 20 movaps XMMWORD PTR $T1[rsp], xmm0
    00011 e8 00 00 00 00 call ?otherMethodByValue@@YAXV?$basic_string_view@DU?$char_traits@D@std@@@std@@@Z ; otherMethodByValue
    00016 48 83 c4 38 add rsp, 56 ; 00000038H
    0001a c3 ret 0

    While actually the compiler can see that the string_view argument is…

    8 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 →
  17. What about to add an ASCII Art extension as it's released in VSC?

    Release ASCII Art extension in Visual Studio

    1 vote
    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 →
  18. Provide a way to jump to the error line in my source code rather than in a header file's template

    When using a template incorrectly you'll often get errors deep inside some templated construct in a header file. If you double click the error you'll jump to the error location within the template definition. Seeing that is important for understanding the error (at least until the long prophesied day we get Concepts) but what I usually want to see first is the location within my own code that resulted in the error. You can pretty much always find that in the Output window so the information is known to the compiler but you have to wade through (sometimes several pages…

    3 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 →
  19. Make C++ header extension precedence configurable

    Currently you can switch between header and source with ctrl K+O. If you have a .h file, it will work. If you have a .hpp file it will work. If you have both, it will choose the .h file. It would be nice if you could config the IDE to prefer .hpp

    1 vote
    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 →
  20. Provide User Feedback for Visual Studio Marketplace

    Visual Studio Marketplace is a great idea. It allows developers to purchase pre-packaged code for specific applications. That saves time and money. However, there is no mechanism to determine the quality of the products that are listed. Like it or not, the Microsoft reputation is attached to these products. I am sure some are great. One that I purchased is not at the same level of professionalism that I would expect from Microsoft. It would be nice if users could comment on these packages, similar to user comments on Amazon. Then other prospective purchasers could be informed (warned) about good…

    1 vote
    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 →

Feedback and Knowledge Base