Visual Studio

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, visit the Visual Studio Connect site: http://connect.microsoft.com/visualstudio.

ASP.NET Runtime/Web Tooling suggestions have moved! All your ideas, including your votes, have been transferred and are searchable in the ASP.Net Uservoice forum. Please submit any new ASP.NET Runtime/Web Tooling suggestions, or vote on existing suggestions by going to http://aspnet.uservoice.com.

We look forward to hearing from you!

Thanks – Deon Herbert
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 vote and comment on it.

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

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

  • Hot ideas
  • Top ideas
  • New ideas
  1. Add full intellisense customisation for C++

    I'm glad there's better intellisense support for C++ in VS 2011, but at the moment it is much more limited than the intellisense for C#.

    At the moment there aren't any options to customise it's behaviour e.g. custom characters to commit to a selection in the completion list. Since you can achieve the same with tab or Enter, why not allow the full intellisense experience with C++?

    7 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 →
    • 7 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 →
      • Allow to disable event (and other CLR-specific) keyword in C++

        Some keywords used by the CLR interface (e.g. 'event') are also perfectly legal standard C++ variables names, but it interacts badly in the IDE in at least 2 ways :

        * the syntax highlighting is not correct
        * when debugging, hovering the mouse over the variable name does not trigger the value watch like it does with other variables.

        It would be nice to be able to disable these keywords as an option when not using /clr

        6 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 →
        • Profiler: make profiling a multithreaded process easier

          It is very hard and not intuitive to profile multithreading issues in current Profiler (sampling). Although in 2011, there is a ThreadId filter, but I cannot effectively determine which function belongs to which thread, therefore I have to guess. These two possibilities would be great:

          1. Show thread id additinally and name (Main, etc.) to all other tabs (Functions, Modules, etc.)
          2. Show more concurrency-related information (see Intel's Profiler)

          6 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 →
          • Allow development of Microsoft Office 2013 MFC apps on Windows 7

            Microsoft Office 2013 Preview can be installed on Windows 7.
            Visual Studio 2012 doesn't allow the development of Office 2013 MFC projects on Windows 7 machine.
            It would make since to allow development of such programs if they can run on the machine used to create it.

            6 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 →
            • Provide autoformatting for C++ similar to that offered by the IDE for C#

              Visual Studio for C# while automatically format statements such as "for(int i=0;i<5i++)" to "for (int i = 0; i < 5; i++)", which increases readability.

              6 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 →
              • Create a XNA-like library using ISO C++ 11

                When developing games for Windows, WinRT, eventually Windows Phone 8, many of us prefer C++ as platform because of the performance, the code base and existing engines.

                To that end, DirectX tends to be the norm. However, interacting with DX can be difficult, and it certainly doesn't provide a common ground for game development.

                To that end, Microsoft created a wonderful library: XNA. Unfortunatelly, this library works only for the managed world. I do reckon the benefits of XNA, but I'd like to have them for native development.

                Therefore, I propose a library akin to XNA, but for C++, with…

                6 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 →
                • Refactor the project edition window

                  The project edition window is far from being ergonomic compared to today's strandards. It's design have not changed a lot since VS6 and it wouldn't be a problem if editing project properties wouldn't feel like trying to write a book on my smartphone.

                  6 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 →
                  • Release more CRT source header files and code.

                    There are a number of .h and .inc files that are referenced by source files in the CRT source but which are not included in the CRT source code, specifically:
                    ksamd64.inc
                    strchr_sse.inc
                    strrchr_sse.inc
                    strstr_sse.inc
                    coresyslibs.h
                    ehassert.h
                    ehhooks.h
                    ehstate.h
                    internal_safecrt.h
                    ksarm.h
                    kxarm.h
                    nowin.h
                    pch.h
                    rtti.h
                    trnsctrl.h
                    undname.h
                    vcver.h
                    vcwininternls.h
                    xmm_func.h

                    Some of them are referenced by name in MSDN articles, e.g. http://msdn.microsoft.com/en-us/library/ff770587%28v=vs.110%29.aspx references rtti.h by name.
                    It would be nice to have these header files so that when reading the CRT source code one doesn't bump into things that are defined or declared in .h files that you cant then go…

                    6 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 →
                    • Windows Forms Application for c++?

                      I just downloaded MS VS2012 Express. I see VS and CS projects for Windows Forms but not C++. I don't see how the C++ Winform problem has been solved.

                      6 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 →
                      • Improve the way Visual Studio starts C++ programs

                        1) Put "Start without debugging" into the Right click menu for a particular project.

                        This is just smoother than "Right click a project, select "Set as Startup Project", Use Control+F5 or Debug | Start Without Debugging", and then go back to the project that you want to debug and Right click to "Set as Startup Project", and then do F5 to debug.

                        The current behavior is clumsy when you have two projects that interact such that you need to run one without debugging first, and the other with debugging second..

                        This was also suggested in 2006:
                        https://connect.microsoft.com/VisualStudio/feedback/details/111466/right-click-start-without-debugging#tabs

                        2) Make "Start…

                        6 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 →
                        • Interpreter for Visual C++ and other .NET languages

                          It is good to add a C++(and other languages') interpreter for rapid development. An interpreter is very convenient and saves quite some time. The most important use of the interpreter is conceptual scripting. Users may transform basic concepts into scripts through line-editing, using an interactive command-line interpreter, before improving their idea into real and complete programs. It is also useful for new learners to use interactive interpreters for learning languages, in this way they can test and figure out if something works correctly, because interpreters can produce immediate results in an interactive session. Moreover, it helps programmers who uses interpreted…

                          6 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 →
                          • C++ code map

                            Add support for C++ code maps!

                            6 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 →
                            • Add "Add Data Breakpoint" context menu to Watch expressions

                              Here is a common use case to debug data change. Make it an item in context menu in Watch.

                              1. drag-and-drop a structure member on a Watch window.
                              2. Insert & in front of it to take its address
                              3. drag-and-drop the address value into Watch window again , because there's no way to easily copy just the address of the variable or member
                              4. Copy the address of the variable or member
                              5. Go to Breakpoints window
                              6. Choose "New"->"New Data Breakpoint"
                              7. Paste the copied address of the variable or member.

                              That's quite a bunch of clicks thousands…

                              6 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 →
                              • 5 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 →
                                • Re-Add support for Windows Mobile native c++ compiling

                                  Please re-add support for native WindowsMobile compiling. Removing the support in VS 2010 was very angry!

                                  5 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 →
                                  • Add a button or menu item for "Reset VC++ IntelliSense"

                                    Sometimes VC++ IntelliSense fails. The user should be close visual studio, removes "*.sdf" and "ipch" directory and reopen the solution.
                                    Please add a button or menu item for "Reset VC++ IntelliSense" that automatically removes "*.sdf" and "ipch" directory without closing the visual studio.

                                    5 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 →
                                    • Atomic Increments in shared_ptr implementation to be optional.

                                      Currently the shared_ptr implementation uses atomic increments and decrements. There is a possibility that these operations might generate too much memory trafic.

                                      Is it possible to put an option for the user of the pointer to choose the strategy?

                                      Here are the defines:

                                      #define _MT_INCR(mtx, x) _InterlockedIncrement(&x)
                                      #define _MT_DECR(mtx, x) _InterlockedDecrement(&x)
                                      #define _MT_CMPX(x, y, z) _InterlockedCompareExchange(&x, y, z)

                                      5 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 →
                                      • Extend C++0x lambda syntax with moves

                                        I propose using the -> specifier on the lambda capture list which makes it behave like the = specifier except it moves data instead of copying it. Also, I'd recommend not allowing this to be defaultable since it's kind of dangerous.

                                        vector v = { 1, 2, 3, 4, 5 };

                                        // moves v into the lambda instead of copying it
                                        [->v] mutable { v.push_back(6); }

                                        5 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 →
                                        • Fix Intellisense performance

                                          We use VS daily with a solution containing close to 400 projects. VS 2010 took a serious step backwards in stability & performance (ie debug stepping can take several seconds per step!) compared to 2008. The pig in all this is Intellisense, which seems to be perpetually browsing the file system for headers. I've had to disable the database completely & kill the .sdf just to be able to make the product usable.

                                          My suggestion: try putting a solution together for Win8 in its entirety and build the world. Eat your own dog food, guys.

                                          5 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