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. Allow generic C# class to be extended from it's generic parameter "class MyClass<TParent> : TParent {}"

    Allow constructions like:

    class MyClass<TParent> : TParent
    {
    }

    This also requires a possibility to specify TParent

    class MyClass<TParent> : TParent where TParent : OtherClass, IInterface
    {
    }

    This also requires a possibility to specify constructors in interfaces,
    so MyClass can call its parent constructor.

    This feature will add a great flexibility and resolve a lot of problems in complex type hierarchies which are impossible to solve right now.
    This will also allow to easily create mixins in C# which is impossible now.

    13 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 →
    • define variable in switch

      Please see the discussion at
      http://stackoverflow.com/questions/29628507/c-sharp-get-switch-value-if-in-default-case

      Wouldn't it be nicer if you could do the following so that fooResult is only visible in the scope of the switch block and then be able to use it at the "default" (fallback case) subblock of the switch code block?

      switch (var fooResult = MyFoo())
      {
      case 0:
      ...
      break;
      ...
      default:
      handleOthersCase(fooResult);
      break;
      }

      The alternative of evaluating a 2nd time the value inside the "default" is not optimal and the other alternative of defining a local variable outside of the switch block is also not optimal for garbage collection, code optimization,…

      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 - C#  ·  Flag idea as inappropriate…  ·  Admin →
      • Change the default behaviour of ServicePointManager.SecurityProtocols to use TLS 1.2

        Recent vulnerabilities in SSL 3.0 and TLS 1.0 and PCI-DSS 3.1 which is mandating disabling TLS 1.0 means that the default behaviour of the System.Net.ServicePointManager.SecurityProtocol to use SS3.0 and TLS 1.0 is now longer appropriate and can be considered insecure.

        The default should be to use the most secure version that the server supports, currently TLS 1.2 on Windows 2012 and 2012 R2.

        In addition, this property should be settable globally in configuration rather than having to modify each individual application to override the setting.

        9 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 →
        • Support XAML Code Snippets inside the IntelliSense dropdown, not only using the contextmenu

          I would love to have my XAML Code Snippets inside the IntelliSense dropdown when I edit XAML. Just type the first few characters of the name and hit the TAB key. This would make using these code snippets much easier. This would be the same as the C#, XML or JS code snippets.

          Currently you have to insert them using the XAML editor context menu. This is not a great UX.

          12 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  ·  UWP / WPF / XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
          • Drag image files (JPG/PNG) from the Solution Explorer and Drop them on the Design surface

            Drag & Drop of images was supported in Blend 2013 and is not supported any more in the 2015 version.

            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…)
              0 comments  ·  Blend for Visual Studio  ·  Flag idea as inappropriate…  ·  Admin →
            • make VisualStudio installation not dependent on server service

              If Server service is disabled VS 2015 Community Edition fails to install SDK for UWA 10.0 embedded in Installation.

              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 →
              • XAML Boolean Expressions

                It would be easier in XAML to do some tasks like hide or show an element if we could use boolean expressions in the bindings. For example to show an TextBox if a list has element with something like: <TextBox isEnabled="myList.length > 0"/>.

                Now we have to create a new property and bind it to the textBox is enabled field. In some languages like AngularJS it is really simple: <input ng-show="myList.Length>0"></input>

                Thank you

                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  ·  UWP / WPF / XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
                • 'number' type

                  BigInteger and decimal are annoying. So verbose and with BigInteger we must create a class, the parameter is an string, etc.

                  "number" will be a dynamic type which accept infinite integers and decimals, and he only can be a number.

                  How to use:
                  number variable=Int32.MaxValue+999; // > Int32
                  variable=2.333333333333; // BigInteger to decimal without casting

                  If C# adds this Python feature, he will be the best language ever.

                  58 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    2 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                  • why the users of visual studio should go pay for third party tools why can't microsoft collaborate all those tools in single IDE

                    why the users of visual studio should pay for third party tools why can't microsoft collaborate all those tools in single IDE . By doing this i think microsoft can attract users from open source

                    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…)
                      0 comments  ·  Visual Studio Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                    • Please integrate SVN in visual studio

                      Please make the SVN (subversion) tool built in visual studio. So that, for the developers using SVN as source control tool, it becomes easy to manage there code.

                      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…)
                        0 comments  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
                      • sizeof operator to vb.net

                        i hope to see sizeof operator on vb.net soon

                        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…)
                          0 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                        • Sepcify table name for multiple recordsets

                          When you return multiple recordsets from a store proc, it will be nice if we can specify the custom table name for each record set and access the tables via table name than index. In this way code can be dynamic and lot easier. The current hack is provide one extra table for recordset to table name but it is not neat. Depending on the index and prior knowledge can cause lot of bugs.
                          The following should be done
                          1) When multiple recordsets are returned from the storeproc, the SP developer can tag each recordset with a table name (ex:…

                          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 →
                          • Allow placing an XML comment on a [TestMethod]

                            I just found that an XML comment is not allowed on a method adorned with the [TestMethod] attribute. Why? Please make it possible to do this, and create a ToolTip from it when hovering over the TestMethod in the Test Explorer...
                            Background: sometimes, describing the stage in unit test methods is too complex to the phrase it in the method's name

                            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 →
                            • Show number of errors in Error List Tab Caption

                              Since VS2015 there is a " * " in the "Error List" Tab Caption if something has changed. What about just showing the number of errors in brackets there instead ?

                              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…)
                                0 comments  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                              • Have the ability to cancel publish/build/compile process

                                When an unintentional build, deployment, publish or similar type of task is started by accident, there is no visual way to stop the task, often hitting ctrl-break or whatever other key commands can stop the task does nothing, or the the user cannot rememeber what to type in time before the process completes.

                                If the process is unintended - for example, publishing to a target platform - it can cause unintended side effects - so it is important to be able to stop them quickely and efficiently.

                                5 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                • Allow turning all C# auto formatting off completely

                                  Since upgrading to Visual Studio 2015, every time I type an open curly bracket on a line, Visual Studio removes all extra spacing from the line even though I've placed the spacing intentionally. I've checked all throughout the formatting options, and I can't find a way to stop this. I format my code the way I want to as I am writing it. I don't need Visual Studio changing my work.

                                  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…)
                                    3 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Provide the ability to resume a test in MTM that is 'In Progress' or 'Failed'

                                    I'm having an issue when using MTM via the Testing Center in that when I have a test in the following states:

                                    1) In Progress

                                    2) Failed

                                    I do not have the ability to resume these tests...the 'Resume' button is greyed out. This is frustrating as there may be a time that I want to continue a test from a previous state without having to start from the beginning again.

                                    This functionality is something that definitely needs including as a new feature, as users migrating from HP QualityCenter to MTM will find this very frustrating, as I do

                                    Cheers

                                    Andy

                                    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…)
                                      1 comment  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Add support for nuget packages

                                      When VSTU regenerates projects, it obliterates the nuget packages attached to the project.

                                      Unity supports using DLLs by including them in the assets folder. Have VSTU put nuget package DLLs in an appropriate location in the assets folder and preserve the nuget package config between solution regenerations would be an immense boon to C# programming in Unity.

                                      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…)
                                        0 comments  ·  Visual Studio Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Modify functions that require an array with ArraySegment when possible. For example, for File.WriteAllBytes

                                        Modify functions that require an array with ArraySegment when possible. For example, for File.WriteAllBytes()

                                        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…)
                                          0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Let me edit Android xml UI files in Visual Studio and add drag and drop support for Android Widgets. I would love to use Visual Studio this!

                                          I do not want to downgrade and have to use Android Studio for Android app development. Visual Studio is light years ahead of other IDE's. But without GUI xml designer its not really an option. Xamarin is too expensive and introduces too much risk for memory leaks and bugs that do not exist in Android Java code.

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

                                          Feedback and Knowledge Base