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. 

NOTE: The Applications Insights forum has moved to the Azure feedback site.

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 Support For Non-Generic Members Within Generic Classes

    I often find myself implementing the following (going for brevity over grammar here):

    abstract class SomeClass<T>
    where T : SomeClass<T>
    {
    overrides DoSomethingSansType(SomeClassSansType obj ){
    DoSomething((T) obj)
    }

    DoSomething(T obj){
    //42
    }
    }

    abstract class SomeClassSansType {
    abstract DoSomethingSansType(SomeClassSansType obj );
    }

    This allows all instances of SomeClass<?> to be grouped together and have their common functionality used.

    It would be nice if the following could be added as syntactic sugar for the above:

    abstract class SomeClass<T>
    where T : SomeClass<T>
    {
    sanstype DoSomethingSansType(SomeClassSansType obj ){
    DoSomething((T) obj)
    }

    DoSomething(T obj){
    //42
    }
    }

    //And later:
    var list = new…

    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 →
    • Check for additional updates when updating extensions using the Visual Studio installer

      Some updates, like the ones for Application Insights and Typescript as seen in the attached image, launch the Visual Studio installer to update the extensions.
      This means that you have to:
      - start the first update
      - close Visual Studio
      - apply the first update in the Installer
      - launch Visual Studio
      - start the second update
      - close Visual Studio
      - apply the second update in the same Installer
      - and launch Visual Studio again to continue working

      Can't the Installer also detect multiple available updates to installed packages/extensions and list the others, so you can then choose to…

      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  ·  Extensibility  ·  Flag idea as inappropriate…  ·  Admin →
      • Go To All: allow to search by both type and member at the same time

        In VS2017, the Go To All functionality can be used to search either a type or a member, but not both at the same time.
        This is quite annoying when several classes have the same member function.
        In this case, I would like to search something like "MyClass MyFunction" to quickly converge to what I'm searching for.
        Also, I would like to see the filename for each symbols found directly inlined in the list and not in a details panel. Or maybe an indicator whether it's a declaration or an implementation (meaningful for function)

        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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
        • 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 →
          • add a acquisition rate to the installer

            like A rate of download or rate of application or at a minimum a time remaining

            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  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
            • All

              I want to write a game together according to my ideas. I've purchased the game already started to trickle into society from users. The likeness of Rust and MineCraft. You first need to create a browser game, and later go to the PC version. The game begins with the stone age and activity moves into the present and beyond. My phone +380978971363. English I don't know superficially. Would like to work together with you on that, there are Proctor until the development procta, promotion and performing to the end product. The game is online. For a decent wage, willing to…

              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  ·  Games  ·  Flag idea as inappropriate…  ·  Admin →
              • Foreach should use pointers

                The foreach loop should use pointers to allow easy manipulation of the data.

                foreach(String s in strList) // s should be a pointer to strList[x]
                s = "Hello world"; // then this would be possible

                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 →
                • Auto-create Controller Actions from data entered into JavaScript/JQuery Ajax methods

                  A great feature of many IDEs, including VS, is that you can define a function on the fly and automatically create a method stub for it.

                  Wouldn't it be great if this could be done when you are making Ajax requests to the server?

                  For example, say you wish to send data to an action using JQuery's $.post() method:

                  You type $.post("MyController/MyAction", {data: "myData"}); into your front-end code, this new feature would then give you the option to auto-create an action "MyAction" in controller "MyController" with a string paramater "data" and a default return type of say, ActionResult.

                  I'm still…

                  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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • search callstack window

                    It would be nice to be able to search the call stack window - similar to how the output window search works. So refer to highlight each frame that matches the search criteria and when pressing <F3> jump to the next match frame.
                    This would be productivity feature that is especially helpful when trying to find "your" code in a large callstack

                    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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                    • Example Namespace "system.Examples"

                      While learning, programmers write oft the same code multiple times,
                      which, of course, increases the educational effect.

                      But after a while, if you already know what you are doing (e.g. creating a class)
                      only to learn something new (like LINQ) you are wasting time.

                      This is where the namespace "system.Example" comes in.
                      It already has many test classes for beginners like ("Car" or "Human")
                      and delivers many useful properties and methods.

                      An example of using this namespace could look like this:

                      system.Example.Car car = new Car("BMW", "M3 GTR", ...);

                      PS
                      That would be nice for game developers too. :D

                      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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                      • Make use of the Windows 10 WebAccountManager to allow single sign on with my MSA or OrgID

                        Right now, every time I sign in to VS I need to re-enter my username and password, and do 2FA, when Windows 10 already has all of this available and can provide the access token without needing full auth to happen.

                        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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                        • Add sort by type in Resources Manager

                          Add sort by type in Resources Manager

                          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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                          • Deploy DLL libraries to GAC directly from Visual studio

                            I wish if new release of visual studio give the ability to deploy the libraries directly to Global Assembly Cache (GAC).It will be great instead of writing commands each time.

                            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  ·  Flag idea as inappropriate…  ·  Admin →
                            • "skip all"

                              When installing VS2015 offline from ISO Image, there are numerous packages missing. The installer always requests to download the package from the internet, skip the package or chose a new source.

                              To perform the setup anyways, it is required to skip a huge amount of packages for example for C++.

                              Add a button "Skip all further packages"

                              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  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
                              • Windows Form in Powershell model

                                Hello

                                Why to not implement Powershell model to make .net Framework Form ?

                                Powershell seems to be the default language of microsoft but its deployment tool does not use it

                                There is a extension "Powershell Module" but for now any tools box are available.

                                Regards

                                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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • Implement a better find and replace for power users

                                  I suggest you download PyCharm from JetBrains and try the find and replace in a Python project (that's all that PyCharm suports). You will find quite an amazing search experience.

                                  Find and replacing strings in code is a very important use case of Visual Studio! Please invest more in this area.

                                  Check it out: https://www.jetbrains.com/help/img/idea/2017.1/py_findinPath.png

                                  You can a preview list, a preview in a live code window, all options are easily available. I believe it even searches live.

                                  And aren't all developers power users? We certainly are able to handle a more complicated find and replace user interface. Currently, VS…

                                  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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Installer history of installed components and updates

                                    In the VS Installer add a History tab that lists your installed components and updates. It will be useful when I want to temporary install certain components or workflows and after a few days I want to uninstall them. To do that I can uncheck a certain workflow, but that will also remove some of the components I had from before. It can also serve as a way to rollback a recent update or preview version.

                                    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  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
                                    • in the team explorer tab, allow the split to be adjusted between incoming and outgoing commits

                                      easy usability improvement for all managers and team leads

                                      1. in the team explorer tab, allow the split to be adjusted between incoming and outgoing commits.

                                      scenario, every morning I peer review all my teams code. i fetch all the commits, then, starting from the bottom, open each commit and then double click each file to see the differences.

                                      there are no outgoing commits (so half the total window is empty) but tens of incoming, creating a lot in a smalll window with a vertical scroll bar which is a pain.

                                      after I click back, it then automatically scrolls to…

                                      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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Find Child Classes

                                        Currently "Find All References" can return a lot of noise.

                                        It would be handy when analysing a class to have a "Find Children" that would simply list all the classes that inherit from this one.

                                        Also with virtual methods a Find Overrides would be useful.

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

                                          Create New Programming Languages to be powerful and Simple like Python programming language or some thing like that.

                                          Also, Support Python programming language please.

                                          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…)
                                            1 comment  ·  Languages - Other  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base