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. 153 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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
    • C# Script window similar to LinqPad

      I want to be able to write scripts to try out things that I would normally create a console application for. It should be really easy to reference projects from the solution that I have currently open and all editor features should be enabled, such as refactoring and intelisense.

      Ideally after I have written code in a script I would then be able to easily move it into one of my projects.

      151 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
      • Edit and Continue: Allow Edit and Continue x64 under local IIS

        Edit and Continue x64 is an outstanding addition to Visual Studio 2013. Unfortunately, I tend to use the full IIS server on my local machine for debugging, but the Edit and Continue option becomes disabled as soon as I change from "IIS Express" to "local IIS".

        The error message states that changes are not allowed "when the debugger has been attached to an already running process", which I assume is because the IIS Application Pool (running as w3wp) is already running when debugging is started..

        How can this be fixed?

        Ideally, this should be fixed by allowing the debugger to…

        151 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  ·  0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
        • 151 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…)
            12 comments  ·  Extensibility  ·  Flag idea as inappropriate…  ·  Admin →
          • Fix the Font & Colors dialog

            please fix this dialog. it hasn't changed for years, it desparately needs some attention.

            consider this use case:
            - i'm editing some code and part of it is red. i want to change it to blue.
            - i open the fonts & colors dialog
            - i scroll through the HUGE, completely disorganized 'display items' list
            - i have to guess which of those items applies to the red text I want to change. sometimes it's obvious, most of the time it's not...
            - usually, i have to select each item in that list, one-by-one, looking for one that's the right…

            150 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…)
              13 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
            • Smarter indentation and alignment

              There's a difference between indentation and alignment.
              Indentation happens at the block level, in the C derivatives (C++, C#, Java, ...), after an opening curly brace.
              Alignment happens when one wants to align things on the same column beyond indentation for improved readability, like function params (either call or declaration/definition), getters/setters' names

              Unfortunately, when one starts typing aligned things (with tabs on the beginning on the lign for indentation, then spaces for alignment), and types enter for a new line, VS changes all the carefully typed alignment spaces into tabs.

              This is annoying because...
              1. When someone else opens the…

              150 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 →
              • New syntax to map interface members to the base class

                Explicit interface implementation in VB makes the code much better readable and maintainable than C# code with its implicit (i.e. hidden/secret) interface implementation.
                It is one of the main advantages of VB over C#.

                However there is one drawback: If a class implements an interface, all interface members have to be implemented directly in that class.
                There is no way in VB to map an interface member to a member of the implementing classe's base class.

                In C# this works implicitly without any extra code. In VB, of course, we want to maintain an explicit way to achieve it.
                A…

                148 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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                • Make the Optional keyword optional

                  Please allow

                  Private Sub Test(s As String = 1)

                  as in C# besides the current version:

                  Private Sub Test(Optional s As String = 1)

                  This removes redundancies (--> improves readability, accelerates writing code) and drives forward the co-evolution of VB/C#. I don't see any reason not to allow this.

                  147 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  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                  • Test Tools in VS 2016 - CodedUI - Merge UIMap Actions Into One Method

                    Due to the instability of the CodedUI Test Builder, and the unpredictability of playback I have many separate methods in a single UIMap file. I would like to merge the actions\methods into 1 method\an existing method. Within the UIMap there already is a function that will split a UI Action into separate methods, and I want to do the opposite and merge separate actions\methods into 1 method\an existing method.

                    146 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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                    • Fix ligatures

                      Visual Studio 2015 supports ligatures which is wonderful and help readability of code. However, for some reason, anything with a hyphen does not register properly (at all really).

                      Can this be fixed?

                      146 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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                      • Allow bulk update target .NET framework version for all projects in a solution

                        The solution (.sln) properties allows bulk update of Configuration and Platform properties. It should also allow updating the TargetFramework property.

                        146 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                        • OpenGL in Windows 10 Universal Apps

                          It would be great to see OpenGL supported in Windows Universal Apps. So we can use OpenGL in modern apps for the desktop as well as for phones.

                          Please visit the SharpGL project at GitHub (https://github.com/dwmkerr/sharpgl) where Dave Kerr and I am working on. We provide a simple wrapper and some framework stuff around OpenGL to make it available in .NET languages.

                          We want to be platform independent as OpenGL is. So please help us and all the developers who wants to bring their iOS and Android OpenGL apps to Windows 10 (desktop and phone).

                          145 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                          • LINQ Debugging - condensed call stack view that was more of a "query stack"

                            Improve debugging support for Ix and Rx queries in the IDE. Specifically, a condensed call stack view that was more of a "query stack" would be great. It would also be great if we could hook into the "query stack" features from our own LINQ-based APIs.

                            144 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  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
                            • Allow #region blocks to be indented much like they are in C#

                              In C# you can indent a #region block so that the region flows with the layout of your code. Unless I am missing something, this is not the case in VB.

                              Example (C#):
                              public class MyClass
                              {

                              +[VARIABLES]

                              +[PROPERTIES]

                              +[METHODS]
                              }

                              Example (VB):
                              Public Class MyClass

                              +[VARIABLES]

                              +[PROPERTIES]

                              +[METHODS]

                              EndClass

                              144 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  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →

                                Hey Greg,

                                Thanks for the great suggestion. I agree that it would be nice to see these indented properly. I honestly couldn’t tell you the reason for this design choice but it applies to all preprocessing directives. Having said that, our team owns both the VB and C# code editor experiences and as we’re rebuilding them as part of Project “Roslyn” we’re trying to be on the look out for opportunities to make the experiences more consistent where it makes sense – this looks to me like one of those cases. The “Roslyn” based editing experience is not planned to be in the next release of Visual Studio but it’s certainly not to early to look at improving this. I’ll follow up with the right folks to see if I can make this happen :)

                                Regards,

                                -Anthony D. Green, Program Manager, Visual Basic & C# Languages Team

                              • 143 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 - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                • New projects treat compiler warnings as errors by default

                                  All new project templates will set the "treat warnings as errors" flag to true by default.

                                  143 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Provide a more robust Exceptions window in Visual Studio.

                                    It would be great to be able to save the Exceptions configuration in the Debug -> Exceptions window into various profiles. Once saved, allowing us to switch between profiles would be a tremendous help when debugging a variety of projects.

                                    142 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  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Allow code clone detection to be run from command line and/or MSBuild

                                      The new code clone detection feature seems to be very tightly coupled to the project object model exposed by the IDE. This essentially makes it impossible to use within automated builds. Please consider changing the "innards" so that the tool can be used to break an automated build (including builds run outside the IDE) when duplicate code is found.

                                      142 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 →
                                      • SmtpClient should allow to specify the envelope sender to support a return path for VERP

                                        Implement an optional envelope sender address used for the MAIL FROM command.

                                        This is needed, because the address in the MAIL FROM command is used for bounce messages.
                                        This will also result in an different return path header.

                                        Read more on "Variable envelope return path" here: http://en.wikipedia.org/wiki/Variable_envelope_return_path

                                        please see also this similar feature request: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2180497-smtpclient-should-allow-a-null-mail-from-in-the-sm

                                        142 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • The Processor Architecture for Tests should use the current Platform type

                                          1. Pick a Platform and Configuration from the drop-downs
                                          2. Go to Test Explorer and run tests

                                          All tests FAIL!

                                          The tests use the 'Default Processor Architecture' which can be configured under the TEST menu. If that doesn't match the Platform type I'm working with, tests fail to run.

                                          Whenever I change the Platform, I need to remember to also change the Default Processor Architecture.

                                          I suggest that when I pick a platform, the Default Processor Architecture also changes to match.

                                          142 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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base