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 ctrl-click go to definition from Productivity Power Tools

    The VS2010 Productivity Power Tools had a ctrl-click go to definition feature. This was great and could be an easy option to add (does not need to be on by default).

    301 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…)
      17 comments  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
    • Provide TF build activities like "deploy web app", "deploy database", or "copy file"

      Currently, to get these features into a CI build, we have to pass a lot of MS Build properties around. Having gone through the trouble of creating my own templates to handle these features, it would be nice to see them included out of the box.

      299 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
      • enable changing the order of test cases on the web gui and let them be tested in this order for both manual & automated tests

        With the MTM 2012, it is possible to change the order of test cases within one test suite and this order is considered when testing. This functionality is missing in the web environment. It is not possible to order test cases and then have somebody else test them in a specific order. If a test suite is run, the tests are ordered by ID only. Make this work for both manual & automated tests.

        297 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…)
        • Make it feasible to use Visual Studio as a programmers notepad replacement

          There are times when you just need to open a standalone code file written in something like C# for viewing or editing but don't want the burden of the whole IDE especially with it's slow load time. What I propose is make the Visual Studio Editor a separate invokable application on it's own or make it so that when Visual Studio is started up with a file path(s) feed in as run time arguments, then load the IDE in a minimal state tailored to working with a single file. Providing this functionality would allow some programmers who chose to manage…

          295 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  ·  Performance  ·  Flag idea as inappropriate…  ·  Admin →
          • Native support for XPath 2.0 or XSLT 2.0 in .NET

            Provide native support for XPath 2.0 or XSLT 2.0 in .NET framework, and of course extend it to SharePoint and other related technologies

            294 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
            • Allow developer to copy/paste layout hierarchy between screens.

              Often I'm finding screens may have similar custom layouts, but I need to build each one from scratch. I have to flip back and forth between screens (see my other sugg. "Allow developer to have multiple screen designers open simultaneously."), and manually tweak the hierarchy to get screens to be consistent with each other. I'd like to be able to select a node in one design screen, copy it, and paste it into another.

              293 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  ·  LightSwitch  ·  Flag idea as inappropriate…  ·  Admin →
              • Add TryRemove(TKey key, out TValue value) to Dictionary<TKey, TValue>

                Currently, to "pull" an item out of a Dictionary it is a two step process:

                SomeClass value = null;
                if (dictionary.TryGetValue(theKey, out value))
                {
                dictionary.Remove(theKey);
                // do something with the item...
                }

                This requires the hash code to be generated twice, which can be costly in high performance scenarios (which is why TryGetValue exists in the first place).

                It would be optimal to be able to do:

                SomeClass value = null;
                if (dictionary.TryRemove(theKey, out value))
                {
                // do something with the item...
                }

                Implementation would be trivial and provide significant benefit.

                293 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…)
                  10 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Support converting TFS online project from TFSVC to Git

                  I want to be able to convert an existing project in TFS online from using TFSVC version control to Git. Currently I can only get Git by creating a new project.

                  286 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                  • save text files with the newline convention present in the file when opened

                    The Visual Studio text file editor has an "advanced save" option that allows me to choose a particular format to save to, every time I save a file.
                    However, 99% of the time, the right thing to do is to save the file using whatever convention was present when the file was originally opened. Thus, if I open a file with LF-style line termination, new lines I add should be terminated with LF, and the file should be saved as LF-terminated. If I open a file with CRLF convention, new lines I *** should be terminated with CRLF, and it…

                    283 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  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
                    • Support server SSL certificate chain inspection in Portable Class Libraries

                      As requested in http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3158400-add-httpclient-support-in-portable-class-libraries there is now an HttpClient that can be used in Portable Class Libraries. The latest version of portable HttpClient today is 2.2.15 and it supports also SSL connections.

                      When a SSL connection is created, the HttpClient doesn't offer any way to inspect the x.509 certificate chain returned by the remote server. I want to implement certificate pinning for additional security in my app and therefore I need an API to read the values of individual x.509 certificates.

                      I've understood that this could be done in these frameworks:
                      - .NET FW 2.0 (or newer): using System.Net.ServicePointManager.ServerCertificateValidationCallback API…

                      278 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…)
                        7 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                      • Make TFS more Audit Friendly

                        We have outside auditors come in and they want to see stuff like who gave Jerry Project admin rights and when and how long did he have it? Items like that It would be nice to find info like that. It would also be nice to be able to export all of the users of a project in the groups that they are in.

                        276 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…)
                          12 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                        • Speedier F# compiling

                          Compilation in F# awfully slow. Please improve this!

                          275 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  ·  Languages - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
                          • Visualize Blocked Task in Task board

                            In TFS 2012 (Scrum Template) you can set a Task to Blocked. Problem is you need a query to see a task is blocked. I suggest Visualizing it in the Sprint board so that Team member know the item is blocked.

                            274 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  ·  11 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                            • Global variables at release management

                              At release management it would be great to use "globale" build varaibles. For example build path, build name, drop location. Also define variables at release template to use this for more custom tasks. Also fixed variables like, date, time and so on.

                              274 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  ·  Release Management  ·  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.

                                273 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…)
                                  10 comments  ·  Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                • Better code navigation in F#

                                  Bring over the code navigation features found in the VB.NET/C# Visual Studio experience, such as Find All References and Call Hierarchy

                                  271 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 - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →

                                    Update: The Visual F# Power Tools project (http://fsprojects.github.io/FSharpVSPowerTools) is a community-driven project based on the FSharp.Compiler.Service and Fantomas tools. It is available as a Visual Studio gallery entry in Visual Studio 2012 and 2013.

                                    While it is at an early stage, it contains useful navigation functionality, with active work going on to add more, as well as other functionality. The project is seeing significant contribution levels. We encourage community contributions to this project.

                                    This item is being left as “under review”. Possible future paths which could eventually be considered may include migrating functionality from the Visual F# Power Tools to the Visual F# Tools proper, depending on quality levels and other factors.

                                    Don Syme, answering on behalf of the Visual F# Tools Team

                                  • Roll Behaviors and TriggerActions into the .NET framework proper

                                    Remove the dependency on the custom Blend assembly and add Visual Studio support

                                    271 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  ·  Windows Presentation Foundation  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Make data accessible via APIs for custom processing

                                      Application Insights sounds cool but I can't imagine having all my data locked up behind a portal without an ability to programmatically access it or at least download it for offline processing. I'm sure the portal is awesome but I'm also sure that there will be project-specific types of insight I need to get out of this data which the portal won't sufficiently support. Making data accessible outside the portal lets you get around that concern while continuing to improve the product.

                                      269 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  ·  8 comments  ·  Application Insights  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Compliable strings

                                        If you're writing a tracing and logging component you may well want to pass the current method name to your logging component. Rather than hard code it (then forget to change it when you change the method name) you can use reflection and the MethodBase class to retrieve the name:
                                        System.Reflection.MethodBase currentMethod = System.Reflection.MethodBase.GetCurrentMethod();
                                        System.Diagnostics.Debug.WriteLine(currentMethod.Name);
                                        System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Name);
                                        System.Diagnostics.Debug.WriteLine(currentMethod.DeclaringType.Namespace);

                                        In C # 4.5 you can use attributes System.Runtime.CompilerServices.CallerMemberNameAttribute, System.Runtime.CompilerServices.CallerFilePathAttribute and System.Runtime.CompilerServices.CallerLineNumberAttribute for such purposes.

                                        Frequent use of reflection dramatically reduces performance. Using special attributes is a contentious issue. Because attributes inherently are declarative. They obviously do not provide full support for the…

                                        269 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…)
                                          7 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Improved validation

                                          Make validation accross entities easier. Something like Workflow rules engine, with dependencies between rules, dynamic loading of rules etc.

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

                                          Feedback and Knowledge Base