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. 

NOTE: The Applications Insights forum has moved to the Azure feedback site.

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. 161 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…)
      9 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
    • Support patch adding in Visual Studio Tools for Git

      Patch adding allows to stage only parts of a file (hunks), not an entire file.
      The command line equivalent is the command "git add --patch"

      For example if you edit a file on line 20 and make another change on line 40 and now you want to split this changes into two separate commits because they are unrelated to each other you can do this by patch adding the file. It would be nice to have this functionality available inside of Visual Studio.

      The same funcionality could be used to automatically include the changed parts of the csproj file when…

      160 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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
      • Enable "compare shelved file with local edits"

        If you are interacting with a file in a shelveset, you get 3 options to compare the file in the shelveset to:

        1. Compare with Unmodified Version: shelved file vs. version last gotten in the workspace that made the shelf

        2. Compare with Workspace Version: shelved file vs. version last gotten in the local workspace (but without any local changes)

        3. Compare with Latest Version: shelved file vs. latest version in TFS

        *** I frequently want this fourth option, which is notably absent ***

        4. Compare with local Version: shelved file vs. version last gotten in the local workspace (including…

        159 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…)
          6 comments  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
        • Fix the Font & Colors dialog

          please fix this dialog. it hasn't changed for years, it desparately needs some attention.

          consider this use case:
          - i'm editing some code and part of it is red. i want to change it to blue.
          - i open the fonts & colors dialog
          - i scroll through the HUGE, completely disorganized 'display items' list
          - i have to guess which of those items applies to the red text I want to change. sometimes it's obvious, most of the time it's not...
          - usually, i have to select each item in that list, one-by-one, looking for one that's the right…

          158 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…)
            13 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
          • Support natvis debug visualizers in Mixed mode debugging

            Please user our .natvis files when debugging in Mixed mode. They are not used (as of VS 2013 Preview). We have a C++/CLI application with many native and many /clr files and cannot use the .natvis visualizers there.

            157 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…)
              under review  ·  7 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
            • Add support for Java style "throws" keyword

              In Java, "throws" keyword is used in method signatures, informing about the exceptions may arise from this method.

              public void ReadFile() throws IOException, FileNotFoundException { ... }

              When developer use this method, Java compiler forces the developer to implement an exception handling strategy, surrounding this method with try-catch, or adding these exceptions to the new method's signature..

              public void UseReadFile()
              {
              try {
              ReadFile();
              }
              catch(IOException ioex)
              { ... }
              catch(FileNotFoundException fnfex)
              { ... }
              }

              public void UseReadFile throws IOException, FileNotFoundException
              {
              ReadFile();
              }

              157 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…)
                45 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
              • Edit and Continue: Allow Edit and Continue x64 under local IIS

                Edit and Continue x64 is an outstanding addition to Visual Studio 2013. Unfortunately, I tend to use the full IIS server on my local machine for debugging, but the Edit and Continue option becomes disabled as soon as I change from "IIS Express" to "local IIS".

                The error message states that changes are not allowed "when the debugger has been attached to an already running process", which I assume is because the IIS Application Pool (running as w3wp) is already running when debugging is started..

                How can this be fixed?

                Ideally, this should be fixed by allowing the debugger to…

                157 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…)
                  under review  ·  0 comments  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
                • Smarter indentation and alignment

                  There's a difference between indentation and alignment.
                  Indentation happens at the block level, in the C derivatives (C++, C#, Java, ...), after an opening curly brace.
                  Alignment happens when one wants to align things on the same column beyond indentation for improved readability, like function params (either call or declaration/definition), getters/setters' names

                  Unfortunately, when one starts typing aligned things (with tabs on the beginning on the lign for indentation, then spaces for alignment), and types enter for a new line, VS changes all the carefully typed alignment spaces into tabs.

                  This is annoying because...
                  1. When someone else opens the…

                  156 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…)
                    5 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                  • Allow to have custom delimiters in raw string literal

                    C++11 (and some others languages) allow you to define custom delimiters for litterals string. It allows you to copy and paste xml, html , ... easily in you code without have to double " .
                    For inst(taken from wikipedia on c++11)

                    R"(The String Data \ Stuff " )"
                    R"delimiter(The String Data \ Stuff " )delimiter"

                    156 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…)
                      4 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                    • Case-Preserving Search & Replace

                      We need case preserving Search & Replace.

                      This needs to be a new option, mutually exclusive with case-sensitive search& replace, performing a case-insensitive search and a case-preserving replace, that is...

                      Say I want to rename "delete" to "erase"

                      delete
                      Delete
                      DELETE

                      all gets renamed to

                      erase
                      Erase
                      ERASE

                      in a single case-preserving search & replace operation.

                      Of course this must work for Search & Replace in Files too.

                      Thanks!

                      156 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…)
                        9 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                      • New syntax to map interface members to the base class

                        Explicit interface implementation in VB makes the code much better readable and maintainable than C# code with its implicit (i.e. hidden/secret) interface implementation.
                        It is one of the main advantages of VB over C#.

                        However there is one drawback: If a class implements an interface, all interface members have to be implemented directly in that class.
                        There is no way in VB to map an interface member to a member of the implementing classe's base class.

                        In C# this works implicitly without any extra code. In VB, of course, we want to maintain an explicit way to achieve it.
                        A…

                        152 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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                        • C# Script window similar to LinqPad

                          I want to be able to write scripts to try out things that I would normally create a console application for. It should be really easy to reference projects from the solution that I have currently open and all editor features should be enabled, such as refactoring and intelisense.

                          Ideally after I have written code in a script I would then be able to easily move it into one of my projects.

                          151 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…)
                            4 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                          • OpenGL in Windows 10 Universal Apps

                            It would be great to see OpenGL supported in Windows Universal Apps. So we can use OpenGL in modern apps for the desktop as well as for phones.

                            Please visit the SharpGL project at GitHub (https://github.com/dwmkerr/sharpgl) where Dave Kerr and I am working on. We provide a simple wrapper and some framework stuff around OpenGL to make it available in .NET languages.

                            We want to be platform independent as OpenGL is. So please help us and all the developers who wants to bring their iOS and Android OpenGL apps to Windows 10 (desktop and phone).

                            148 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…)
                              4 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • 148 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 - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
                              • 148 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…)
                                  under review  ·  13 comments  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
                                • Different icons for DLL-refs and Project-refs

                                  In the project reference folder there is a list of references to other assemblies. These can be referenced by pointing to a dll or to another project in the solution. It would be really helpful and emphazise correct linking if one could easily see (on the icon) whether the refence is made to a project or to a dll.

                                  148 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 →
                                  • Enable turning off Roslyn Code Fixes

                                    I would like to speed up Visual Studio 2015 by disabling the analysis of my sourcecode by Roslyn (code analysis, code fixes, analyzers, etc) when I am working in C# projects. In previous releases of Visual Studio there were two options in the Tools menu >> Options >> Text Editor >> C# >> Advanced:

                                    - Underline errors in the editor
                                    - Show live semantic errors

                                    I am a user of ReSharper, so I do not need this functionality. The reason I think Roslyn is causing the slow-down is that when I use the same version of ReSharper in VS2013, I…

                                    148 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…)
                                      4 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Test Tools in VS 2016 - CodedUI - Merge UIMap Actions Into One Method

                                      Due to the instability of the CodedUI Test Builder, and the unpredictability of playback I have many separate methods in a single UIMap file. I would like to merge the actions\methods into 1 method\an existing method. Within the UIMap there already is a function that will split a UI Action into separate methods, and I want to do the opposite and merge separate actions\methods into 1 method\an existing method.

                                      147 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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Make the Optional keyword optional

                                        Please allow

                                        Private Sub Test(s As String = 1)

                                        as in C# besides the current version:

                                        Private Sub Test(Optional s As String = 1)

                                        This removes redundancies (--> improves readability, accelerates writing code) and drives forward the co-evolution of VB/C#. I don't see any reason not to allow this.

                                        147 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…)
                                          4 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Adopt IANA Standard Time Zones

                                          The .Net BCL TimeZoneInfo class is a wrapper on top of Windows timezone data. Now that ICANN/IANA is formally managing the zoneinfo database (since Oct 14, 2011), Microsoft should favor this standard instead of its proprietary time zone implementation. See http://www.iana.org/time-zones and http://en.wikipedia.org/wiki/Tz_database for further details.

                                          This would allow .Net much greater interopability with other Internet platforms.

                                          Since Windows timezones have been around for quite some time, Microsoft should provide this as an option, perhaps in a different set of classes, with some translation to and from the existing TimeZoneInfo class for backwards compatibility.

                                          (also - it would be ideal…

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

                                          Feedback and Knowledge Base