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. IDisposable should have DisposeIfNull extension method

    In cases where it is more efficient to use a try-finally with multiple disposable types involved we frequently have code that looks like this (

    DispoableType1 disposable1 = null;
    DispoableType2 disposable2 = null;
    DispoableType3 disposable3 = null;
    try
    {
    // initialize and operate upon the types
    }
    finally
    {
    if (disposable1 != null)
    disposable1.Dispose();
    if (disposable2 != null)
    disposable2.Dispose();
    if (disposable3 != null)
    disposable3.Dispose();
    }

    If IDispoable had an Extension method like so:

    public static class DisposableExtensions
    {
    public static void DisposeIfNull(this IDisposable disposable)
    {
    if (disposable != null)
    disposable.Dispose();
    }
    }

    The above finally block would look like

    finally …

    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 →
    • Automatically add assembly references for types contained in assemblies in path

      Let's say I don't have the System.Configuration assembly in my references.

      Now in code I type ConfiguationManager and the code editor complains saying, "The name 'ConfigurationManager' does not exist in the current context".

      I'd like to see a keyboard shortcut option (maybe one more line item when you do a CTRL + . ) to add an assembly reference. The IDE can then show me a list of assemblies it found with a matching type and I can choose to add the appropriate one.

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        0 comments  ·  IDE  ·  Flag idea as inappropriate…  ·  Admin →
      • Support the #include_next preprocessor directive

        Add support for the #include_next preprocessor directive to Visual C++. This is a GCC extension, and porting code that uses it to VC++ is VERY DIFFICULT. There is just no good way to simulate it using existing VC++ features.

        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 →
        • Direct support for PowerShell in pre/post build events

          Currently only cmd/batch files are supported. PowerShell is a great replacement available on every Windows box basically. Writing complex pre/post build scripts is way easier in PowerShell.

          16 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 →
          • Insert some details as comment on save file

            i need to solution for insert modified comment on head of every files in project like as this

            class1.cs => // Author: [Windows username] Modified: [Last modified date]

            main.css => /* Author: [Windows username] Modified: [Last modified date] */

            main.js=> /* Author: [Windows username] Modified: [Last modified date] */

            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 →
            • Escape special characters in TFS query list items

              Why are we still seeing &lt; and <p> in the Description column when workitem results are listed in a query?

              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 →
              • UnityVS should support resx and .designer.cs files

                UnityVS should take care of resx and .designer.cs files in the Unity asset folders so we can use .net native resource system in visual studio for Unity projects.

                1 vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  0 comments  ·  Visual Studio Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                • Visual Studio Online just as project management (Scrum / Agile) and CI-build system

                  See:

                  http://codepecker.blogspot.fi/2014/03/using-visual-studio-online-with-github.html

                  http://stackoverflow.com/questions/23211360/visual-studio-online-with-github

                  We have public repositories on GitHub. we need to plan sprints on Visual Studio Online. But there is this restriction that you have to use VSO's code management system, in order to have integration.

                  Would be nice if VSO let us use repos from elsewhere (like GitHub, CodePlex, BitBucket), and track those repositories (instead of us building a middle-tier service / cron-job / mirror for it).

                  Thanks!

                  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 →
                  • Add inheritance for xml documentation from primary constructor

                    Primary constructors are a new language feature slated for C# 6.0.

                    This gives a great opportunity to remove the tedious re-definition of function parameters, most commonly experienced in the multiple constructors (e.g., anything deriving from Exception or its progeny).

                    Thus, I propose that the documentation for the primary constructor's parameters be able to be referenced by any other constructor in that class. This will greatly reduce the complexity of, and thus increase likelihood of, built-in XML documentation.

                    A nice side effect will be that identical parameters for constructors will be more likely to have identical purpose and documentation, which is…

                    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 →
                    • "Build with shelveset" should work for any shelveset

                      If you create a shelveset that contains:
                      * Added files (files that are not checked in to source control yet)
                      * Locked files (e.g. resource files with exclusive check-outs)
                      * Build process files

                      ...then you cannot do a "build with shelveset" with it.

                      -> If there is a lock on the file, the check out fails so the server can't build it
                      -> If the file is new, it doesn't exist in source control, so the check out fails so the server can't build it
                      -> If the file is a build process file, the build starts before the file…

                      3 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        0 comments  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                      • Attribute to force XmlSerializer to include xsi:type attribute

                        Often I'm using .NET code to interoperate w/ another language. When possible, its convenient to use XmlSerializer and attributes (EG: XmlIgnore). Often the XML consumer requires "xsi:type" attributes where .NET would not.

                        All of the serialization is correct, but the XML does not function without this "xsi:type" attribute. I would love for there to be a .NET attribute such as [XmlXsiType] that would force the inclusion of an XML "xsi:type" attribute during serialization.

                        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 →
                        • Attach to Process with filter and additional informations

                          The Attach to Process Dialog:
                          Additional Information as the Task-Manager has - really useful for me is the command line. And the possibility to filter.
                          e.g.: Process = "w3wp.exe" AND CommandLine contains "SharePoint - 80" - will find the SharePoint process.
                          If I could store these options (including Show process from all users) this will like xmas.

                          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  ·  Debugger  ·  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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • IDE improvement

                              F# Depth Colorizer Extension for Visual Studio 2013 [1] offers an entirely different, light years better quality of coding and readability of code in F# and deserves to be part of Visual Studio rather than a separate extension. Please turn the depth-colorizing functionality offered by that extension into a default IDE feature and part of the F# Language Service. The ability to write code that's VERY easy-to-read and understand (available to everyone, even newbie programmers in F#, not only those experienced programmers who downloaded and installed the extension) will have a positive impact on the language popularity and improve the…

                              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 - F# Tools  ·  Flag idea as inappropriate…  ·  Admin →
                              • Variable Active Scope

                                static void Main(string[] args)
                                {
                                bool bTrue = true;
                                //bTrue = !bTrue;
                                if (bTrue)
                                {
                                int i = 0;
                                }
                                else
                                {
                                int i = 0;
                                }
                                int i = 0;//Variable "i" was disposed when exiting the "if scope" then why we can't declare it again
                                }

                                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…)
                                  0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                • Named Parameters

                                  I would like a Visual Studio optional compiler warning/error (up to the user to turn it on) that allows for *required* named parameters for constant declarations in a function. For example

                                  CopyAllFiles(source, dest, true, false); What does this function do? What does true/false stand for?

                                  Because they are declared constants in the function I want to force named parameters. IE:

                                  CopyAllFiles(source, dest, createDestDirectory: true, overwrite: false);

                                  If however the user passes them as a variable then we assume the user has named his/her variables correctly and don't require naming.

                                  bool createDestDirectory = true;
                                  bool overwrite = false;
                                  CopyAllFiles(source, dest, createDestDirectory,…

                                  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 →
                                  • Allow Generating a Sequence Diagram from Source Code in Shared Project.

                                    Is possible to Generating a Sequence Diagram from Source Code (Reference is http://msdn.microsoft.com/en-us/library/vstudio/ee317485.aspx)

                                    We cannot generate it from projects that share code across multiple apps.

                                    Please allow it.

                                    13 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  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Allow users to select multiple nodes from within a Visual Studio .webtest (e.g. so they can dragged into a Dependent Requests folder easily)

                                      We're currently trying to record a webpage that contains jpeg files which don't appear to be captured by Visual Studio's webtest tool.

                                      I've used a program called Fiddler2 which supports saving these requests into .webtest format, however upo doing so I would now like to make a number of these requests asynchronous, instead of syschronous as when they're Exported from Fiddler.

                                      Due to the large number of jpgs, I thought it would be nice to be able to select multiple requests and drag them to the Dependent Requests folder to speed up the test preparation process.

                                      1 vote
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        0 comments  ·  Visual Studio Ultimate  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Add intellisense support to "MonoBehaviour" Class specialy the "Messages"

                                        t will be very helpful to see what Messages are available in MonoBhaviour Class, such as "Update, Awake, OnCollision...., etc"
                                        instead of always referring to this link:
                                        http://docs.unity3d.com/ScriptReference/MonoBehaviour.html

                                        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  ·  Visual Studio Tools for Unity  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Support Sql Server Compact in Visual Studio 2013

                                          please bring back visual studio 2013 tools for sql server compact and improvement capebilities of tools and sql server compact. please add trigger and prosedual sql feature to sql server compact. over milion application data stored in sql server compact database and need continue supporting this tools

                                          1,135 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…)
                                            63 comments  ·  Database Projects  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base