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. Enable Quick Launch even when VS starts in Full Screen

    Currently, when Visual Studio opens in full screen, Quick Launch is unavailable. I find mysef having to toggle full screen back and forth in order to make Quick Launch available.

    This is only an issue when VS starts in full screen; moving to full screen after startup doesn't disable Quick Launch.

    I suggest having QuickLaunch available from the start, even when Visual Studio starts in full screen.

    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…)
      2 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
    • Add .ToTitleCase() to String Class

      Add the method .ToTitleCase() to the String Class (or a similar one, such as .ToProperCase() or somesuch). Currently this requires pulling thread information to get the local user's culture information, and multiple extra lines of code. It would be much simpler to have an easily accessible method to capitalize the first letter of each word in a string.

      Current implementation:

      internal static string DisplayRandChar()
      {
      Character randomCharacter = new Character();

      CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;

      TextInfo textConvert = cultureInfo.TextInfo;

      string displayText = ($"You are {textConvert.ToTitleCase(randomCharacter.name)} the " +
      $"{textConvert.ToTitleCase(randomCharacter.item)}-wielding {textConvert.ToTitleCase(randomCharacter.occupation)}!");

      return displayText;
      }

      Simplified implementation:

      internal static string DisplayRandChar()
      {
      Character…

      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 →
      • Provide a summary of items about to be removed

        I like the new VS2017 installer. However, when I uncheck items , visual studio removes them without a warning. I think it would be nice if a short summary of the items to be removed is displayed before I click "Modify".

        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 →
        • Your Previous Installation interface is the best

          the previous installation interface of visual studio till 2015 is best
          your new interface is annoying........

          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 →
          • Figure out graceful support for switching user accounts - no more devenv /resetuserdata

            Please figure out a graceful way to handle switching user accounts The vast majority of the time when I switch user accounts in VS (i.e., from my personal account to my work account) is fails and I have to use devenv /resetuserdata

            The year is 2016..You are a world leader in technology. You should be able to handle multiple accounts.

            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 →
            • do not force user to register in order use your software. that would skip me the need to ***** visual studio.

              do not force user to register in order use your software. that would skip me the need to ***** visual studio.

              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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
              • In MTM if you are running a test and then need to Pause the test due to a blocker, test steps need to remain when testing resumes.

                When I am using MTM 2015 and have to pause a test due to a blocker, I am having problems with the test steps displaying. If I start working on another requirement or even switch to a different test plan, when I go back to resume my testing, I can click on resume but the test steps do not show up in test runner. I have to start the test over. This has happened on multiple occasions and is very frustrating.

                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  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
                • ask me before loading (or pushing) common settings...

                  ask me before loading (or pushing) common settings, because they tend to wreck configurations on other machines. Especially fonts and colors. I use different settings between home and work and one will overwrite the other.

                  I do remember to turn it off after I have to fix it, but every VS RC install hoses my stuff again

                  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 the option to debug functions by themselves.

                    I often find myself writing small amounts of test code in the main() function to test if a specific function works properly or not. Instead of running the whole program, what if you could debug that specific function only ? You would provide the necessary function parameters and debug the function by itself.

                    Example function prototype:

                    string ProcessString(string str);

                    Instead of putting test code like this :

                    string testStr1;
                    string testStr2 = ProcessString( testStr1 );

                    in your main(), you would directly debug the ProcessString itself by giving the string parameter testStr1. In this example test code is 2 lines. No…

                    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 →
                    • View switcher for Solution Explorer

                      Solution Explorer allows you to "change root", so you see only part of your project (for easier navigation).

                      It'd be great if you could save these views and quickly switch between them. It'd also be great if you could add "currently open files" to an existing view (as a way of making the "custom view" in SE less narrow, as in, not restricted to a single sub-tree).

                      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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                      • LINQ to SQL Design View should be maintain

                        I think LINQ to SQL Designer View should be maintain. A lot of developers enjoy working with the visual designer that using editor designer

                        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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                        • Show the origin of Output logs (ex. Class, method, and line number)

                          Not sure if other project types do or don't do this, but seeing the origin of output logs in UWP apps would be a nice addition.

                          Bonus points for making the origin clickable so it brings you right to it in the editor.

                          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  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
                          • Add ability for NAT Hole Punching

                            Using some combination of STUN, TURN, ICE, WebRTC, etc... build into the .NET framework the ability for Hole Punching.

                            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 →
                            • Generate Entity Framework models from Database Project

                              Allow for Entity Framework code first model generation to target a Database Project and generate or update the entity models from the SQL files contained in the project.

                              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  ·  SQL Server and Data Tools  ·  Flag idea as inappropriate…  ·  Admin →
                              • C# highlight current cursor block curly braces

                                It would be nice if in the C# editor (or VB), when the text pointer cursor is inside a block delimited by curly braces, these braces were highlighted like when you position the cursor on one of them, so you can easily find the end of the block scrolling the editor.
                                For example:
                                if (value == 1)
                                { <-- highlighted curly brace
                                //line 1
                                //line 2 <-- text pointer cursor here
                                //line 3
                                //line 4
                                } <-- highlighted curly brace
                                else
                                {
                                //line 1
                                //line 2
                                //line 3
                                //line 4
                                }

                                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 →
                                • Preserve cursor position from diff view

                                  Consider this scenario using fugitive (a git plugin for Vim):

                                  I have just come back to some outstanding changes and don't remember exactly what I was last working on. I open a file, run :Gdiff to open a diff view and restore my memory of what I was doing. I move the cursor to a change and exit the diff view (:q). I am now back in the normal editor with my cursor in the same place I left it from the diff view.

                                  If I try the same thing in VS, exiting the diff view resets my cursor 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 →
                                  • Support deployment contributors when comparing databases

                                    I wanted to script the database parameters (such as database level permissions). This unfortunately tried to script dropping user permissions (specifically GRANT CONNECT), while I only wanted to script role permissions.

                                    Using AgileSqlClub's SqlPackage Deployment Filter I was able to configure deploy/publish to ignore these permissions.

                                    However, the comparison still shows and tries to drop them. I can exclude them manually but this causes issues:
                                    * Noise when viewing the comparison.
                                    * If the comparison decides a dependent element has also changed, the comparison won't let you ignore the dependant.
                                    * If the filter is changed to now include these…

                                    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  ·  SQL Server and Data Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                    • I often desire a way to tell intellisense which methods and fields to show first in feedback.

                                      Often i try to satisfy Three masters when i make a class
                                      1) to order it in the class for modular clarity for myself
                                      2) by naming clarity so that methods and properties are intuitive
                                      and then
                                      3) so that intellisense will somewhat show the most important methods first when i surf a class using the dot operator.

                                      My thought is often and im sure others may have thought the same.

                                      It would be very nice, if i could place a small tag before or in the summery comment to override the order intellisense lists its feedback first to last…

                                      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…)
                                        3 comments  ·  Languages - C#  ·  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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Allow extension methods to be used within the targeted type.

                                          Currently Extension methods cannot be used within the targeted class. This greatly reduces the usability of extension methods E.G
                                          public class Math
                                          {
                                          public int DoAdd(int a, int b)
                                          {
                                          return Add(a, b);
                                          }
                                          }
                                          public static class Ext
                                          {
                                          public static int Add(this Math math, int a, int b)
                                          {
                                          return a + b;
                                          }
                                          }

                                          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 →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base