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. 

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. Rename Visual Basic to B# and Support B# With Absolute Parity

    Dotnet 2015 made it clear: VB.NET developers need to switch to C# or be left behind. Very sad.

    VB syntax is friendlier, easier to read and code and maintain. Yet Microsoft is killing off this superior language bowing to pressure from myopic C# developers and Mono.

    312 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…)
      40 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
    • Add shortcut to quickly open / close CodeLens function

      In Visual Studio 2013 Preview,
      CodeLens function is very powerful, but when we want to close or open it ... set step is too much. ( see Q&A : http://msdn.microsoft.com/en-us/library/vstudio/dn269218(v=vs.120).aspx )

      Add a shortcut, when we need it just "click (shortcut)" and show it, when we close is same.

      309 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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
      • Start developing the Windows API Code Pack again

        Back in the Windows 7 timeframe, Microsof gave us the "Windows API Code Pack", as a way of using some of the new Win 7 APIs from .Net.

        It was really useful, but (like anything) it had some bugs, and was missing some useful features.

        Unfortunately it seems to have been abandoned by Microsoft, with no release since August 2010, and the website moved to the "archive" site:
        http://archive.msdn.microsoft.com/WindowsAPICodePack

        Please bring it back!

        NuGet seems like a perfect vehicle for distributing a package such as this, so that API bindings can ship alongside OS releases (or not), rather than being…

        306 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…)
          10 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
        • Make go-to-definition and find-references work between F# and C# projects

          In a solution containing a mixture of C# and F# projects, go-to-definition does not work when your starting point is, say, C# and the target function/value/type definition is in F#. (And vice versa.) The same is true for find-all-references.

          This is a major inconvenience when working on this kind of mixed codebase. It would be great if it could work in both directions but even go-to-definition would be a great start.

          303 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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
          • 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…

            302 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…)
              6 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
            • Don't close all files when a project file is edited

              When a project file is edited on the file system (e.g. source control pull), you'll currently get a prompt: "The project '<name>' has been modified outside the environment"

              My options are to not reload, often not being able to compile, or reload the project closing everything I have open...even if it's completely unrelated to the project change (added image files for example). This causes a huge productivity loss on a rapidly iterating project (Stack Overflow in this case), I have to reload the project then spend time opening/searching for whatever I was working on before it happened. In most cases…

              301 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
              • Editor support for italics fonts syntax highlighting

                The VS editor should support italics for syntax highlighting.
                Why bold, but not italics?

                300 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…)
                  6 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                • Stop Autoformatting my code

                  Visual Studio has always had options to stop the editor from autoformatting our code. They are found in Options > Text Editor > C# > Formatting > Defaults.

                  In Visual Studio 2015, you decided to add a bunch of new actions that cause Autoformatting to happen. And you didn't add the option to turn it off to this screen.
                  Some of the cases where it now happens:
                  - When I press colon
                  - When I press {
                  - Some cases with the using block.

                  It would be even better to just have a NEVER autoformat my code option - And…

                  298 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 →
                  • Microsoft VB6 programming - reopen this suggestion and update VB6

                    The suggestion to bring back and update the classic VB6 programming language is the most popular in Visual Studio UserVoice with over 5200 comments.

                    Please now re-open this suggestion
                    https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/3440221-bring-back-classic-visual-basic-an-improved-versi
                    and allow posters to vote as well as comment.

                    VB6 programming isn't going to go away just because Microsoft declines a suggestion on UserVoice. Allow voting to see the strength of demand for this suggestion.

                    Then bring back VB6, update it to include the changes made in the VBA programming language (v7.x) and extend it to allow "compiling" to JavaScript.

                    https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/3440221-bring-back-classic-visual-basic-an-improved-versi

                    296 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…)
                      21 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                    • Split Visual Studio windows horizontally and vertically the at same time.

                      It would be nice if you could split Visual Studio windows horizontally and vertically (read: create a vertical tab group on a horizontal tab group and vice versa) the at same time as display size increases constantly.

                      So you'll be able to have a arrangement of your files like http://jsfiddle.net/ provides.

                      295 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…)
                        17 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                      • Save default project(s) in the .sln file

                        As per http://stackoverflow.com/questions/694730/why-is-set-as-startup-option-stored-in-the-sou-file-and-not-the-sln-file/1808264#1808264 , store the Startup Project(s) selected in the IDE in the .sln file, but allow them to be overridden by Startup Project(s) stored in the .suo file.

                        292 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…)
                          18 comments  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                        • Exclude outlining operations from the undo/redo stack

                          There's something really annoying in Visual Studio : where I expand or collapse a method or code region, this action is pushed on the undo stack. So if I edit some code in a method, then collapse that method, and then want to undo my change, I have to undo twice : once for the collapse action, and once for the change in code. This can be VERY confusing if you expanded or collapsed several things after editing the code, the editor keeps jumping to different places and you don't know whether your changes have been undone or not... Please,…

                          292 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…)
                            15 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                          • Allow generation of sequence diagrams from code

                            Visual Studio Ultimate 2013 had the "Generate Sequence Diagram" feature allowing to create such diagrams from code; this functionality seems to be removed from Visual Studio 2015 - and should be readded, if possible.

                            290 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…)
                              14 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • make header include refactoring possible

                              Would be great to have a tool which will automatically remove unused headers. I a big projects (more than 1^6 LOC ) this becomes really both code and compile-time issue over the time.

                              Another idea is to move from precompiled header those header files which are used only once and move those used more than once into precompiled header. Ideally those thresholds are configurable.

                              285 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 →
                              • Microsoft can make an update of the VB6 to VB7 (Classic VB)

                                1) It should be able to create VB Command Line application.
                                2) API selection dialog which will put the selected API on the project.
                                3) It should be able to create both 32-bit and 64-bit applications.
                                4) It should also have a feature to create self dependent application which doesn't depend on any runtime library.
                                5) Change the looks similar to the VS2013/VS2015.

                                # If Microsoft does create this new COM based programming language I am sure many programmers will switch back to Microsoft.
                                # And really there is not point in abandoning such a huge crowd of programmers who…

                                285 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…)
                                  34 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                                • Support XAML 2009 in Visual Studio Editor and WPF markup-compiler

                                  Finally add support for XAML 2009 and its great features to the VS Editor and the WPF markup-compiler

                                  http://msdn.microsoft.com/de-de/library/ee792007.aspx

                                  280 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…)
                                    8 comments  ·  UWP / WPF / XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Support the ability to push Git Tags to remote

                                    It's now possible to create Git tags in VS2015.
                                    However, these are local tags, and can't be pushed to the remote server.
                                    One has to use the git command line: git push --tags
                                    Would it be possible to get this push command from within Visual Studio?

                                    275 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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Visual Studio Tools for Git Extension (Microsoft Git Provider) integration with Source Control Explorer window

                                      The major feature that is still missing from the Microsoft Git Provider is to integrate it with the Source Control Explorer window to provide a full featured Git repository UI that will rival third party tools in it's feature set.

                                      A great example of the ideal functionality is the Git Extensions main user interface. It allows changing repositories and branches, stashing changes, committing code and push/pull operations. It also provides a great visual diagram showing the commit history for the selected repository and where each branch (local and origin) is in relation to the head. It also allows you to…

                                      273 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…)
                                        6 comments  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →

                                        When the item was marked as completed, we have misunderstood the suggestion. Your suggestion is still valid, and on our backlogs. But we are not actively working on this.

                                        Opening the suggestion again for you to upvote this one. Sorry for the confusion.

                                        Ewald Hofman
                                        VSTS/TFS Program Manager

                                      • Please keep the Reference Source symbol server updated

                                        The Reference Source is a very useful feature, particularly so for its ability to step through framework code. But that feature never lasts very long after a release. Many programmers have .NET 4.5.2 on their machine today, the server doesn't supply the necessary PDBs. Downgrading to 4.5.1 is painful and often not possible at all.

                                        Please keep the server updated.

                                        272 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Compliable strings

                                          If you're writing a tracing and logging component you may well want to pass the current method name to your logging component. Rather than hard code it (then forget to change it when you change the method name) you can use reflection and the MethodBase class to retrieve the name:
                                          System.Reflection.MethodBase currentMethod = System.Reflection.MethodBase.GetCurrentMethod();
                                          System.Diagnostics.Debug.WriteLine(currentMethod.Name);
                                          System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Name);
                                          System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Namespace);

                                          In C # 4.5 you can use attributes System.Runtime.CompilerServices.CallerMemberNameAttribute, System.Runtime.CompilerServices.CallerFilePathAttribute and System.Runtime.CompilerServices.CallerLineNumberAttribute for such purposes.

                                          Frequent use of reflection dramatically reduces performance. Using special attributes is a contentious issue. Because attributes inherently are declarative. They obviously do not provide full support for the…

                                          272 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…)
                                            9 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base