Visual Studio 2015

Welcome to the Visual Studio 2015 UserVoice site. This site is for suggestions and ideas for the IDE of Visual Studio (Community, Professional or Enterprise). You can also add suggestions for Team Services or Visual Studio Code. Or go to Connect to file a bug. Note that Application Insights has moved to its own UserVoice forum.

We also added an Announcements section where we will be posting special opportunities for you to participate in.

Read about current UserVoice statuses and their definitions in our article “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. 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…

    270 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
    • assembler

      Make inline asm in x64-bit projects.

      266 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…)
        20 comments  ·  Languages - C++  ·  Flag idea as inappropriate…  ·  Admin →
      • Save default project(s) in the .sln file

        As per http://stackoverflow.com/questions/694730/why-is-set-as-startup-option-stored-in-the-sou-file-and-not-the-sln-file/1808264#1808264 , store the Startup Project(s) selected in the IDE in the .sln file, but allow them to be overridden by Startup Project(s) stored in the .suo file.

        266 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…)
          16 comments  ·  Project  ·  Flag idea as inappropriate…  ·  Admin →
        • Bring back the Visual Studio Achievements extension.

          Greetings,

          For Visual Studio 2010 and Visual Studio 2012 is the achievements extension released. For those who are not familiar with it, I added the links to them below.

          Sadly is this extensions nowhere to be found for Visual Studio 2013. It's not a killing extensions but it sure adds a lot of fun between developers in a company or for students on Facebook. I personally think that it is improving the working environment.

          It would be nice to have this extensions continued or open sourced so the community can work on it.

          Extension for 2010: http://visualstudiogallery.msdn.microsoft.com/ed9e23e2-ff50-43e3-9aa6-c91f27bd6a6d
          Extension for 2012: …

          263 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  ·  Extensibility  ·  Flag idea as inappropriate…  ·  Admin →
          • Add PlaneProjection

            For ease of use and silverlight compatibility

            263 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 →
            • Editor support for italics fonts syntax highlighting

              The VS editor should support italics for syntax highlighting.
              Why bold, but not italics?

              260 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 →
              • Ensure that you do not release a future version of Visual Studio without BIDS (SSRS, SSIS) support.

                Please ensure that you do not release any future versions of Visul Studio that do not have full support for (BIDS) SSRS, SSIS. This has resulted in a significant delay in rolling out VS2010 here, and in fact now that I heard BIDS will not be supported in Windows XP, we may skip VS2010, so now our team is missing out on so many great features.

                259 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  ·  SQL Server Data Tools  ·  Flag idea as inappropriate…  ·  Admin →
                • Allow multiple variable names with single type specifier in functin call

                  Current:
                  Public Function DoSomething(x As Integer, y As Integer, w As Integer, h As Integer, Value As Integer, Name As String, Count As Integer) As Boolean

                  Propsed:
                  Public Function DoSomething(x, y, w, h, Value As Integer, Name As String, Count As Integer) As Boolean

                  All variables x, y, w, h, Value would be of type Integer, like in Dim statement.

                  256 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  ·  28 comments  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                  • Restore usability of the new Error List window in VS 2015

                    1. Restore the ability to sort all entries by their addition time ("Default Order" in VS2013 and older). In VS 2015 RC, messages keep "jumping" as they are generated, which makes it nearly impossible to work with the Error List during a long build without stoping it.

                    2. Restore (at least as an option) full clearing of Error List on build start, or at least add a button or context menu option to clear it manually. It is very confusing in VS 2015 RC when fixed errors and warnings stay there for half of the build process until the compiler…

                    256 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…)
                      14 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                    • Support C# expressions in Rehosted Designer

                      as it works with Visual Studio already

                      256 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  ·  Windows Workflow Foundation  ·  Flag idea as inappropriate…  ·  Admin →
                      • make .net real platform independent. add linux support, mac osx, etc.

                        create .net runtime for other os. linux, mac osx,

                        253 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 →

                          Thanks a lot for the feedback. Not only is this happening, it’s also happening in the open! You can follow as we’re making progress on GitHub. You can even participate and help us bringing .NET to Mac OSX and Linux!

                          See these posts for more details:

                          http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx

                          http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx

                          http://blogs.msdn.com/b/dotnet/archive/2015/02/03/coreclr-is-now-open-source.aspx

                          Thanks,
                          Immo Landwerth
                          Program Manager
                          .NET Team

                        • Coded UI test html log should record assertion

                          Include assertion checks in the HTML log file created by QTAgent this is essential for testers as many times they are asked to show proof specially in medical companies(at list that what my personal experience says)

                          251 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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                          • Add support for ISupportInitialize on object initializers

                            Quite often, it's necessary to validate an object state when it's initialized. With constructor arguments, this is easy to do as it can be done at the end or begining of ctor code. With object initializers, it's nearly impossible, as there's no way to know programatically when the object initialization is finished.

                            There's a built-in mechamis for this that is being used in WinForms and WPF: the ISupportInitialize interface. The initialization code generated by both toolkits checks to determine if the object implements the interface. If it does, it will call BeginInit() before invoking all property setters, and EndInit() at…

                            251 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                            • create the same lightswitch Tools for ASP.NET MVC

                              create the same lightswitch Tools for ASP.NET MVC

                              validates
                              screens
                              fields
                              relationship
                              and others

                              251 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  ·  LightSwitch  ·  Flag idea as inappropriate…  ·  Admin →
                              • Make XNA open source

                                XNA is an incredible framework. It gave a lot to game developers. Don't bury it please. It's not too late. Open the sources!

                                249 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  ·  Games  ·  Flag idea as inappropriate…  ·  Admin →
                                • Build List, Dictionary and Tuple into the language

                                  List and Dictionary are used extensively when developing in C# and although Tuple is relatively new it's a very useful class.

                                  Other languages such as Python and Ruby make these constructs part of the language implementation which makes it incredibly easy to use them and reduces the amount of typing required.

                                  I would imagine the syntax could look something like this:

                                  var myList = {1,2,3,4}; // List
                                  var myDict = {(1,"A"),(2,"B"),(3,"C")}; // Dictionary
                                  var myTuple = (1,2,3,4) // Tuple

                                  247 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…)
                                    11 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Structure All Nullable Values

                                    .NET Framework already has Nullable<T> but it could also have ToNullable<T> as a struct.

                                    If you wanted to keep reference-types null and turn value-types to null you could make this:

                                    class someGenericClass<T>
                                    {
                                    T? value; /* = Nullable<T> value; but this gives error
                                    because T may already be null */

                                    T$ value; /* = ToNullable<T> value; this doesn't give error,
                                    what you wnat is keep what's null null,
                                    and turn non-null into null */
                                    }

                                    The only problem is that this does not exist!
                                    If you don't understand anything about this, contact jmcf125@gmail.com.

                                    247 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…)
                                      15 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Exclude outlining operations from the undo/redo stack

                                      There's something really annoying in Visual Studio : where I expand or collapse a method or code region, this action is pushed on the undo stack. So if I edit some code in a method, then collapse that method, and then want to undo my change, I have to undo twice : once for the collapse action, and once for the change in code. This can be VERY confusing if you expanded or collapsed several things after editing the code, the editor keeps jumping to different places and you don't know whether your changes have been undone or not... Please,…

                                      247 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…)
                                        16 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Code coverage support for Windows Phone projects

                                        Please enable code coverage support for Windows Phone projects.

                                        247 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  ·  Mobile App Development  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Please implement C# compiler and WPF for WebAssembly

                                          WebAssembly or wasm is an experimental efficient low-level programming language for in-browser client-side scripting, which is currently in development. WebAssembly is portable bytecode which is designed to be faster to parse than JavaScript, as well as to execute faster. The team working on WebAssembly include people from Mozilla, Google, Microsoft, and Apple (who respectively control the four major browsers, Firefox, Chrome, Internet Explorer, and Safari).

                                          https://github.com/WebAssembly/design/blob/master/FAQ.md

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

                                          Feedback and Knowledge Base