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. 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 →
      • New 'in' keyword pattern

        Simple concept, very powerful capability:

        if (myString in ["123", "abc", "zyc"])

        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 →
        • Have native XML documents capability right in the code, just like in VB

          Why does VB have a more powerful language feature than C#?

          Add the ability to construct XML documents in code, really clean simple syntax

          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 →
          • Add match...with pattern matching (like F#)

            F# has an amazingly powerful pattern matching feature built in (match..with).

            Like a turbo-charged switch..case statement.

            This would be so powerful in C#. But PLEASE make sure you implement the feature that allows the match case to be pushed in to a variable for use in the pattern itself.

            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…)
              1 comment  ·  Flag idea as inappropriate…  ·  Admin →
            • Display changeset delta

              When browsing changesets, display the the delta count of each (added/deleted/modified lines), so that you can easily tell which are major and which are minor.

              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 →
              • Enhanced Scroll Bar: Add #Regions

                I would love it if you could add regions in the enhanced scroll bar that had been added in 2013. (this could be tested in productivity power tools)

                I imagine it could look like this for an example:

                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  ·  Extension  ·  Flag idea as inappropriate…  ·  Admin →
                • C# make struct inheritance without polymorphism

                  I know I can't inherit struct but I want only to inherit functionality of struct to reduce code duplication. Technically I want compiler to copy functionality from base struct to "this".

                  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 →
                  • FIRST and LAST sections in foreach blocks

                    foreach (object elem in elems) {
                    first { // do something, without elem we cann't do it
                    }
                    //..........
                    last { // do something, but we have the ref to elem
                    }
                    }

                    it will be better than

                    bool first = true;
                    object lastElem = null;
                    foreach (object elem in elems) {
                    if (first) {
                    first = false;
                    // ...
                    }
                    // ...
                    lastElem = elem;
                    }
                    if (!first) {
                    // ...
                    }

                    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…)
                      1 comment  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                    • TFS Team Project Process Template Reset

                      Sometimes it would be nice to just start over with a team project without the loss of code or history. For example, after importing a TFS 2005 database with no work items or after a bad start with the wrong template. Something like

                      TfsResetProjectTemplate /q /force /excludewit /collection:RL /t:Template:newtemplatename [/noprompt] TeamProjectName

                      Perhaps a /excludewit option of some sort to leave the work item data someplace handly so that it can be converted later?

                      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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                      • Add a PBI 'ready' state to the scrum process template.

                        Add a 'ready' state to the scrum process template to mark Product Backlog items as ready for sprint planning. This makes it clearer for scrum teams to see which Product Backlog items need more refinement and which ones are ready for sprint planning.

                        The scrum guide quotes: "Product Backlog items that can be “Done” by the Development Team within one Sprint are deemed “Ready” for selection in a Sprint Planning. Product Backlog items usually
                        acquire this degree of transparency through the above described refining activities." (Page 13)

                        7 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 →
                        • Add F# Scripting to SSIS

                          SSIS currently has VB and C# languages for writing script components. I think it would be really nice to add F# support too especially with it being a very declarative expression based language good at manipulating data.

                          32 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  ·  SQL BI Tools (SRS, SSIS, SSAS)  ·  Flag idea as inappropriate…  ·  Admin →
                          • Add a new "View" option to ListView.

                            VerticalList

                            ListBox lacks functionality and ListView is the next best thing. The only problem is the fact that if I want a vertical list, I have to put it in details mode, add a column and then set HeaderStyle to none.

                            Wouldn't it be better to just have a vertical list option?

                            7 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 the ability to run or emulate a single form from the desinger.

                              It would be nice to be able to debug a single form straight from the designer to test code you have added to make the UI function. It is annoying having to modify which form is run at the entry point.

                              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 →
                              • Gmod on xBox 1

                                Me and some people I know wants Gmod on xBox 1, since we can't buy it on computer, and Gmod is the best frikin game in the world, so sure many people wants it

                                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 →
                                • Multplayer Amnesia for xBox 1

                                  I want Amnesia multiplayer on xBox 1, I can't buy it on computer and one of the reasons I don't want to play it so much either is since you can't play with friends, it's a game with usually a big map, so I don't see why not add multi-player

                                  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 →
                                  • Enabled automatic JavaScript debugging via Page Inspector

                                    When running a website under the Page Inspector, I think most people expect that JavaScript debugging will just work, especially considering the rest of the cool features in the Inspector.

                                    It doesn't work by default and you have to jump through hoops each time to enable it. Possibly, this is because the debugger is already attached to the web server process for managed code debugging.

                                    Either a many-attached debugger would be cool, else just a toggle button on the Page Inspector would suffice.

                                    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  ·  Debugger  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Make the "step into specific" popup menu so that it doesn't truncate names.

                                      The "step into specific" pop menu when debugging will only display names up to a certain width. There's no way to see the rest of the name. If the names are long (as they often are with templates) the visible portion may be ambiguous. Possible resolutions include: a wider menu, word wrap, or a window that is horizontally scrollable. At the very least, a tool-tip that displayed the full function name would be a workaround.

                                      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  ·  Debugger  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Change name on existing project and areas

                                        Be able to change name on an existing project and area.

                                        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  ·  General  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Code Analysis for InteropServices

                                          When we automate MS Office application (Excel), the application may refuse to quit and remain in memory even after a Quit();

                                          As explained in http://support.microsoft.com/kb/Q317109,

                                          Add the two(2) following rules in Code Analysis:

                                          1) Code Analysis Check - Declare each object as a new variable

                                          Notify the user when the object call chain of Interop is greater than one.

                                          As per the article above:

                                          This would generate a Code Analysis warning:

                                          oBook = oExcel.Workbooks.Add()

                                          to the following:
                                          dim oBooks as Excel.Workbooks
                                          oBooks = oExcel.Workbooks
                                          oBook = oBooks.Add()

                                          1b)... a Right Click > Refactor > [Declare Each Object] would be…

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

                                          Feedback and Knowledge Base