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. Add option to disable various "Generate ..." actions from Quick Actions menu

    After recent debugging session caused by accidental selection of "Generate Class" instead of "Add using" for important attribute I think I am fed up with this brilliant feature I never used (at least intentionally) and will never use, because it doesn't fit my development workflow at all.

    Would be nice if we have more control over this menu so it will became usefull for any developer instead of current situation, when it pleases some and annoys others.

    8 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 →
    • Build 2015 vNext Triggers - Continous Integration, use repository paths as default trigger

      it should be possible to have the already defined paths of the repository as the triggering paths for CI Builds.

      The same as it had been in the former Xamlbased version.

      If you, for example, have a large list of paths in your repository (maybe >30) and you want them all to trigger your build.

      dea would be to have a option the check, Use Repository for triggering, or something like that.

      15 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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
      • Enable the hiding of fields in TFS work item templates

        Would be nice to have the ability to hide/show fields in a TFS/VSO work item template based on a field's value.
        i.e. WHEN field value = "value" etc...

        4 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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
        • Allow loading NuGet assemblies from t4 files

          T4 is great but very limited in terms of the assemblies it can reference. You can only use assemblies in the GAC, or assemblies you have the absolute path for. However these days dependency management is done via NuGet and such dependencies don't go into the GAC. In addition, their path changes as versions are bumped. It would be very beneficial to support NuGet packages in t4 files, possibly by extending the "assembly" directive or even creating a new directive. For example:

          <#@ nuget name="Newtonsoft.Json" version="9.0.1" #>

          18 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 - Other  ·  Flag idea as inappropriate…  ·  Admin →
          • Show line differences in merge

            Currently (in VS2015) the file DIFF tool highlights lines that are different, but also highlights the specific differences within the lines. This makes it very easy to see exactly what changed. But the MERGE tool only highlights the lines, not the differences within the line, which can sometimes make it much harder to figure out what changed, especially if the change is very minor. Please add the ability to highlight the line differences in MERGE.

            19 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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
            • Move UserAppDataPath to another namespace than Forms

              In order to get the applications specific path within the current users appdata folder you have to use Application.UserAppDataPath right now. That is located within the System.Windows.Forms namespace.

              Since this information should not me limited to Forms it should be moved to a higher namespace

              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 →
              • Show possible #define constants when we give their values in Navigate To (or GoTo)

                For example, consider the below code:
                #define TESTCONST 34

                Now, in Visual Studio, if I enter "TESTCONST" in Navigate To (or GoTo) today, it identifies and takes me to the above definition. Similarly, it would be very helpful if Navigate To takes me to possible definitions even when I enter its value 34.

                2 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 →
                • Enable IntelliTest to generate tests for .NET Core projects

                  Please extend IntelliTest to generate tests for .NET Core projects.

                  35 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 →
                  • Provide tab strip in Output window instead of ComboBox

                    It's rather annoying whenever several sources try to write to the Output window at the same time and automatically select another source in the Source ComboBox (found in the header of the Output window).

                    For one: You cannot follow a single output source.

                    On the other hand: You may be endlessly waiting for a never appearing Completed message because some other source took over Output window without notification. (For instance: Updating a NuGet package in a version controlled project switches back and forth between NuGet output and TFS output.)

                    Proposal:

                    (1) Provide a tab strip in the output window, providing…

                    4 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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                    • Structure Guide Lines Enahancement

                      Structure Guide Lines is a very nice feature, but pls consider some enhancements:
                      - line type choice (solid, dashed, ...)
                      - colorization depended on nesting for better orientation

                      Thank you

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

                        56 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 →
                        • traceof special word

                          One of biggest problems in computer programming is determining when a variable changes its value.
                          The typical problem is: “When X is changed so…” or “Before X is changed…”.
                          This is the main problem in bindings scenarios but also in a lot of other cases.

                          We can separate problem in two main problem:

                          1) When X is changed?
                          2) When A.B.C.D.E.X is changed?

                          At the moment the solution require to define a lot of redundant code.
                          Typically we must define an XProperty closely related to X property. If we want to trace A.B.C.D.E.X we must define the same pattern for…

                          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 →
                          • Microsoft TFS Web based Build and Release queries

                            Execute the Build and Release based on the Build Tag
                            Is there a way to filter the builds (based on the defined “Build Tags” created in Build Definition), while creating a new Release in a Release Definition?

                            How to select Approved Build on the Release without user input
                            Between 2 Release Definitions, that deploy the same Build Artifacts, how to achieve full automated deployment for selecting a particular approved build (might not be the latest build always)?

                            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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
                            • msbuild run targets within a project in parallel

                              Would make cl.exe /MP superfluous and allow parallel execution of things like Qt's moc and ui generation steps.

                              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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                              • 10 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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
                                • Inherit superclass constructors

                                  A syntax to inherit constructor from base class. For easiest implementation, the ability to right-click menu the class and "implement constructor... " with a list of possible constructors, in the same fashion VS suggests simplifications.

                                  Suggested Syntax:
                                  public base myClass(string, bool, int, double)

                                  Before:

                                  class baseClass
                                  {
                                  public baseClass(string has, bool lots, int of, double parameters)
                                  {

                                  }
                                  }

                                  class myClass : baseClass
                                  {
                                  myClass(string has, bool lots, int of, double parameters)
                                  : base(has, lots, of, parameters)
                                  {

                                  }
                                  }
                                  After:

                                  class baseClass
                                  {
                                  public baseClass(string has, bool lots, int of, double parameters)
                                  {

                                  }
                                  }

                                  class myClass : baseClass …

                                  2 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 →
                                  • Implicit static members for static classes

                                    Static classes cannot have non-static members. Don't require static syntax in static classes on any members to avoid tons of redundant code.

                                    Before:

                                    static class MyStaticClass
                                    {
                                    public static int One { get; set; }
                                    public static int Two { get; set; }
                                    public static int Three { get; set; }
                                    public static int Four { get; set; }

                                    static int number = 5;

                                    public static void DoSomething()
                                    {

                                    }
                                    }
                                    After:

                                    static class MyStaticClass
                                    {
                                    public int One { get; set; }
                                    public int Two { get; set; }
                                    public int Three { get; set; }
                                    public int Four…

                                    1 vote
                                    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 →
                                    • Scrollbars to object explorer and better multi dimensional array view

                                      To avoid scrolling forever when looking at big collections. Preferably also a index input box, and the ability to "pin" the whole view so you don't accidentally hover off it when you've found your correct range.

                                      Also a better way to view multi dimensional arrays, possibly a scroll bar for each dimension.

                                      For better example view and all my suggestions visit http://www.jsmars.com/csharp.php

                                      2 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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Find dead/unused code in the solution

                                        From ASP.NET UserVoice (http://aspnet.uservoice.com/forums/41199-general-asp-net/suggestions/486946-find-dead-unused-code-in-the-solution)

                                        After some time certain parts of code i n a project end up not being used anymore and just waste screen estate. It would be handy if Visual Studio could detect this and warn you about it.

                                        49 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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Automatic constructor parameter setters

                                          Parameters may be set to members of the same name instead of having to have tons of lines of copying code.

                                          Suggested Syntax:
                                          public MyConstructor(this int MyPropertyName)

                                          Example before:
                                          public string Name { get; set; }
                                          public int Age { get; set; }
                                          public int Height { get; set; }

                                          public Person(string Name, int Age, int Height)
                                          {
                                          this.Name = Name;
                                          this.Age = Age;
                                          this.Height = Height;
                                          }

                                          Example after:
                                          public string Name { get; set; }
                                          public int Age { get; set; }
                                          public int Height { get; set; }

                                          public Person(this string Name, this int Age, this int…

                                          3 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 →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base