Visual Studio

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, visit the Visual Studio Connect site: http://connect.microsoft.com/visualstudio.

ASP.NET Runtime/Web Tooling suggestions have moved! All your ideas, including your votes, have been transferred and are searchable in the ASP.Net Uservoice forum. Please submit any new ASP.NET Runtime/Web Tooling suggestions, or vote on existing suggestions by going to http://aspnet.uservoice.com.

We look forward to hearing from you!

Thanks – Deon Herbert
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 vote and comment on it.

If it doesn't exist, you can post your idea so others can vote on it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  1. i I suggest you provide a project template for XAML/Typescript instead of HTML/Typscript.

    I suggest the following three items:
    A. You provide a project template for XAML/Typescript instead of HTML/Typescript. The XAML should be transpiled to HTML as the typescript is transpiled to javascript. Developers can either work with the XAML view window or the HTML view window depending on which one they are comfortable with. that way MS developers coming from wpf/Silverlight are happy and new open source developers coming from HTML are happy.
    B. You should create RIA services for XAML/Typescript just as you had in Silverlight/c#/vb. And you will be forgiven for leading developers to Silverlight and killing it.
    C.…

    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  ·  Flag idea as inappropriate…  ·  Admin →
    • Implement Automatic Reference Counting (ARC) for .NET

      This would require major work, for sure, but Apple seems to have proven its worth doing.

      For performance sensitive applications, the GC can be a difficult-to-predict performance problem. ARC seems to have solved much of problems with memory management in an elegant way. It would be nice to see this become an *option* in C#/.NET.

      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…)
        0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • Allow enums as an indexer for arrays

        A great feature in Delphi was the ability to set up an array where the index/bounds was governed by an Enumerated Type.

        This allows you to reduce the number of switch statements in many cases:

        instead of this:

        switch (value)
        {
        case 'a': { ... }
        case 'b': { ... }
        }

        With enum-based arrays, you can do stuff like this:

        enum Status
        {
        Active,
        Accepted,
        Rejected
        }

        var statusStrings = string[Status] =
        { "This is Active right now", "This was accepted", "This was rejected" };

        then:

        var myStatus = statusStrings[Status.Active];
        // myStatus = "This is Active right now";

        Very…

        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 - C#  ·  Flag idea as inappropriate…  ·  Admin →
        • nested functions in c#

          Allow a function to be nested in C#. Example:

          private string Test()
          {
          string Test2(string x)
          {
          return x + "something";
          }

          Console.WriteLine(Test2("a"));
          Console.WriteLine(Test2("b"));
          }

          Could also add an inline keyword too like this:

          inline string Test2(string x)
          {
          }

          which replace the call with inline code. if the inline keyword not present, just call the code.

          It's much more convenient than having to write nested classes. Great for decomposing a complex method in to sub-functions.

          I really miss this ability in Delphi

          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 - C#  ·  Flag idea as inappropriate…  ·  Admin →
          • Add Caller Info Attribute for MethodBase of Caller

            For tracing/logging API I think an additional caller info attribute would be beneficial in allowing the callee to request that the caller pass a MethodBase of the caller. The callee could then use reflection on the MethodBase to format the caller.

            Upon seeing a method decorated with this attribute the C#/VB.NET compilers would emit a ldtoken opcode with the RuntimeMethodHandle of the calling method and call MethodBase.GetMethodFromHandle() to obtain the MethodBase reference.

            e.g.
            public void Foo(int x, [CallerMethod] MethodBase caller = null) {
            // do stuff
            }

            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 →
            • Build a bug reporting/feedback tool for TFS (cloud and on prem)

              It would be great if TFS shipped with a basic bug reporting tool in the box. Sure, there are a lot of third party solutions out there, but we always find that they are expensive, designed for large teams, or overwrought for what we need.

              At it's most basic such a tool would include:

              -A quick way to deploy a bug report/feedback submission page with dropdowns for application modules, and other relevant data we need to capture

              -A triage workflow that is used to accept or reject submissions, mark them as duplicates, merge with similar items and turn submissions into…

              34 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
              • Bring back "Collapse to Regions"

                The first Visual Studio .NET had the following entry in it's outlining menu: "Collapse to regions".
                This collapsed every region in a source code file, but not any other declarations or whatever, that "Collapse to definitions" does.

                As I really like and heavily use regions to bring some additional structure into my code, I really wish to have "Collapse to regions" back!

                Thanks in advance!
                Max

                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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                • Expand node in Test Explorer when grouping tests by class and test fails

                  In Test Explorer, if I change the display to group my tests based on class, when I run all tests and one fails, it would be great to have the corresponding class node automatically open so I can quickly see the failing test. Right now, I just get the "red bar" indicating a failure and then I have to expand the class nodes to see which test failed.

                  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 Test and Lab Management  ·  Flag idea as inappropriate…  ·  Admin →
                  • Overload const or readonly keyword to make writing immutable structure a lot easier like Fantom language

                    In Fantom language you can use const keyword to declare immutable class. I think C# should do it too.

                    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 →
                    • Intellisense Undefined Group

                      When a term is used which has not been defined (variable, function, sub, etc), collect those undefined terms into an intellisense group. Then, when typing a new variable declaration, method name, class name, etc... Use intellisense to select from the drop-down of undefined names.

                      In the following, PersonName will end up with a Blue Underline and a "Not Defined" Error:
                      Sub Main()
                      PersonName = "Suamere"
                      End Sub

                      In the following, Intellisense would auto-suggest/complete PersonName:

                      Sub Main
                      Dim P(<---Cursor Here, Intellisense pops up)
                      PersonName = "Suamere"
                      End Sub

                      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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                      • Native multi-editing (multiple cursors and selections) support

                        Multiple selections/cursors in Sublime Text is by far the most useful editor feature I have in my toolbox. Using search and replace in Visual Studio is slow and unwieldy in comparison and I find myself frequently copying blocks of text into Sublime Text just to perform versatile edits using multiple cursors, after which I copy the result back into Visual Studio.

                        A future version of Visual Studio would win huge points with this feature alone.

                        220 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  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
                        • Add a "Move to end" option to the right-click context menu on a backlog item

                          When I add new items to the backlog they appear at the top. Sometimes this is OK - but sometimes I want them right at the bottom. Dragging them to the bottom is cumbersome, so a right-click "Send to bottom" would be really helpful.

                          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…)
                            0 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                          • fix: TFS pending changes => doubleclick changed project file => solution is unloaded unexpectedly

                            https://connect.microsoft.com/VisualStudio/feedback/details/789455/tfs-pending-changes-doubleclick-changed-project-file-solution-is-unloaded-unexpectedly

                            Given:
                            1) get TFS latest changes
                            2) open solution
                            3) change project file, e.g. add a reference
                            4) goto Team Explorer pending changes

                            When:
                            doubleclick project file

                            Then:
                            solution is unloaded unexpectedly and temp solution with doubleclicked project only is shown

                            Expected:
                            nothing happens
                            or
                            Solution Explorer scrolls to doubleclicked project and selects it
                            or
                            if project not part of solution open new Visual Studio with project
                            or
                            project is unloaded and opened as text file

                            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  ·  Visual Studio Ultimate  ·  Flag idea as inappropriate…  ·  Admin →
                            • Drag a feature from the features list to a Sprint, with all underlying Product Backlog items

                              It would be nice if you can drag a feature from the features list to a Sprint, with the underlying Product Backlog Items.

                              You can only drag the underlying Product Backlog items one by one at the moment. This could save me a lot of 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                              • Bring Back Private Accessor

                                Deprecated with VS 2012, I think the work suggestions around are not really handy (see http://msdn.microsoft.com/en-us/library/hh507838.aspx).

                                Using PrivateObject is not really productive. In case you need to rename a method, you have to do a String.Replace. Not type safe, no IntelliSense support.

                                To create a reflection framework by myself does not seem to be a valid option. Who has the time to build up the required knowledge and support the framework?

                                Declaring the code needed by the test as internal and use InternalsVisibleToAttribute means to soften my initial intention on who should be able to access the code. When…

                                52 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  ·  Flag idea as inappropriate…  ·  Admin →
                                • 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  ·  Visual Studio Test and Lab Management  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Preserve HTML formatting when exporting TFS work items to Outlook

                                    Exporting work items to Outlook is extremely handy. But it's such a shame that the Description HTML field cannot be used to show the nicely formatted HTML.

                                    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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Static property extensions

                                      Allow static property extensions in the same way as extension methods.

                                      e.g.

                                      public static bool Exists { get { return !String.IsNullOrWhiteSpace(value); } }

                                      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 →
                                      • Add .ReplaceEnd, .ReplaceStart. RemoveEnd and .RemoveStart to String class in .net framework

                                        This would be a great timesaver:

                                        var myString = "AccountController";
                                        var newString = myString.ReplaceEnd("Controller", "Manager");

                                        newString == "AccountManager"

                                        The .RemoveStart/End methods do the same except do not have a replacement string.

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

                                          Feedback and Knowledge Base