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. Improve Generics Constraints

    It would be great to get these generic constraints int c#
    The 'has' :constrant requres that type being checked has at last the public members with same signatures, inherited or declared, as in the list of member declarations between the {} braces.

    public static Math<TNumber> where TNumber has {
    public static TNumber operator+(TNumber a, TNumber b);
    public static TNumber operator-(TNumber a, TNumber b);
    public static TNumber operator*(TNumber a, TNuber b);
    public static TNumber operator*(TNumber a, TNumber b);
    }

    or
    public class TypedWriter<T> where T: has { void WriteTo(Stream stream) } {
    }

    And we can simplify this with the 'like'…

    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…)
      1 comment  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
    • Introduce serializable lambdas syntax

      Serializable lambdas would loos like:
      SerializableLambda<Func<Int, int, int>> op = (a, b) @> a + b;
      foreach(var pair in new Dictionary<int, int> { {1,2}, {3,4}, {5,6} })
      {
      yield return x(pair.Key, pair.Value);
      }

      Also we can use them so:
      SerializableLamnda<Func<Item, bool>> filter = SerializableLambda<Func<Item, bool>>.ReadFrom(stream);
      using(var ctx = new AwesomeContext()) {
      foreach(var item in ctx.Items.Where(filter)) {
      ProcessItem(item);
      }

      thee serization medias can be used:
      SerializableLambda<Func<Item.bool>> lambda = a @> a.Property1 == "Some value");
      var readableStr = lambda.ToString();
      var xmlStr = lambda.ToXML();
      using(var stream = new MemoryStream()) {
      lambda.WriteTo(stream);.
      ///do something
      }

      And serializong methods like so:
      public static SerializableLambda<TDelegate> ReadFrom(Stream…

      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 all shortcuts provided in Visualstudio IDE in a single place Help

        Add all available shortcuts which Visualstudio IDE supports in single place called Help.

        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  ·  Help  ·  Flag idea as inappropriate…  ·  Admin →
        • Nothing!!! VS and C# rocks!

          Nothing!!! VS already is the best IDE ever in my opnion. And all about C# even better!! Take care on IE and Windows Phone to run properly what we develop with VS. And make people wish to have a Windows Phone, make it a must have. It is what we need. Thanks!

          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  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
          • Add a sharepoint operator: $

            Makes what I want.

            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 include file chain when reporting bugs/warnings in header files

              Some "already defined" macros, or other (template) problems are buried in different libraries included over different header files. I would like to get an option in context menu to show the include file stack from the offending header up to .cpp file.

              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 →
              • g

                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 →
                • Show IntelliSense for resource strings in quotes.

                  Example: similar to "my resource string".

                  This just makes it more readable.

                  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 →
                  • Please provide support to validate Font(size/style e.g. Italic/Bold/underline etc) through CodedUI on WPF controls

                    WPF controls like Text\Edit etc Font properties are not exposed to CODEDUI, please add some extensibility\support to validate the look n Fell of these controls

                    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  ·  Visual Studio Test and Lab Management  ·  Flag idea as inappropriate…  ·  Admin →
                    • Implement onion-skinning in the IDE

                      Onion skinning is conceptual layers for things like logging and other cross-cutting concerns that allows you to "fade them out" so you can read only the business logic and thus see the wood without the trees.

                      The actual source code does not change - it just allows us to choose how much to see.

                      Many developers already do this with #Region but it would be easier for the IDE to do it for us?

                      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  ·  Flag idea as inappropriate…  ·  Admin →
                      • 11 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 →
                        • Automatically create SLN with all references when opening a csproj

                          Everybody knows that having ginormous solutions with 100+ projects in VS is a bad idea, however maintaining lots of little SLN is also a pain, specially when there are repeated projects.

                          It would be very nice if VS could automatically generate a solution that includes all of the referenced projects when you open a single csproj project. It could be at a command line level with a flag, or maybe even with MSBuild.

                          That way when you open a project you get all the referenced projects you need in your solution, without the hassle of maintaining a SLN file (which…

                          0 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  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
                          • source control selection by project (not IDE or solution)

                            Today source control selection is bounded to all IDE, once its configurated as a general option.
                            This configuration should be done on each project AND having that general config as a default.
                            I cant open 2 projects with different source controls without having to change it all the time to the one i want.
                            If i work with Github, SVN and TFS every project i open i'll have to change source control again to handle my project and this is annoying.

                            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…)
                            • 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 →
                              • inspect arguments in call stack window

                                It should be possible to inspect arguments in the Call Stack window by hovering over them (or expanding the line to a series of watch lines, or selecting them or something similar).

                                This would save a lot of stack crawling.

                                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…)
                                  1 comment  ·  Debugger  ·  Flag idea as inappropriate…  ·  Admin →
                                • Enable F5 = Debug (Ctrl+F5=Run) for test projects (like VS2010 did)

                                  In VS2010, if the startup project was a test project, pressing F5 would automatically run all (and only!) the tests in that DLL. This was dropped when the test manager (?) was royally screwed up in 2012, and apparently hasn't been re-added in 2013.

                                  Also, can you make the test manager faster? We've got 5000 unit tests, and it takes several minutes just to "find" them all! I'm not talking about running the tests - just finding all 5000 of them.

                                  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 →
                                  • User wildcards by default in MSBuild files

                                    Merging project files can be a nigthmare. one of the reasons is that they specify each source file separately. Instead the default behavior should be to use wildcards in these files (i.e. **\*.cs to build all c# source code).

                                    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  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Give the editor a regular expression builder

                                      It should be possibly to assemble a regular expression with drag and plug. The result would of course be guaranteed correct. The would be a palette of standard constructs, some (character set, literal) would need an extra argument, for some (repeat, alternate) the argument(s) would recursively be REs, which could be ones you had previously saved. RE heaven!

                                      It should be possibly to save it under a name (as someone else suggested), and it would be splendid to be able to export it in the most important RE syntaxes, including UNIX/GNU (with options for what needs quoting), MSVS 2010, MSVS…

                                      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  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                      • New "switch all" operator for enumerates

                                        It would be desirable to have a switch all (Enumerate) kind of operator, that would produce a compiler error if there is an enumerate value missing from the switch case list.

                                        This would help application maintainers to detect incomplete switches when an enumerate is updated.

                                        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 →
                                        • Implement expression debugging (language agnostic, at least including C)

                                          I would like to be able to step through the evaluation of an expression. I see this as using (a) a setting in Project.(language).Debugging-Options to generate the necessary support and (b) a command Debug.ExpressionDebuggingOn/Off.

                                          I sometimes find myself separating expressions into multiple statements in order to debug them; this would obviate that.

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

                                          Feedback and Knowledge Base