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…

    268 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 →
    • add BitScanForward and BitScanReverse functions to .NET Framework, like in C++.

      The .NET Framework seems to be missing functions to give us safe access to the BitScanForward and BitScanReverse x86 instructions, for 32-bit and 64-bit integers.

      Following you can see the C/C++ functions documented but there is no C# or .NET equivalent.
      http://msdn.microsoft.com/en-us/library/wfd9z0bb(v=vs.100).aspx
      http://msdn.microsoft.com/en-us/library/fbxyd7zd(v=vs.100).aspx

      If you are bothered by the fact that BitScanForward returns 2 values (boolean and index), or if you wish to make the name less ambiguous than "BitScanForward", then you could make a slight modification as follows and name it "CountTrailingZeroBits".

      int CountTrailingZeroBits64(UInt64 inValue)
      {
      int i;
      return _BitScanForward64(&i, inValue) ? i : 64;
      }

      And similarly for…

      25 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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
      • Shift+Tab should unindent the line no matter where the cursor is on the line

        Since Shift+Tab has no meaning besides unindent, pressing this shortcut should trigger that behavior from anywhere on the line.

        Examples (period is space, pipe is cursor location, tab width is two spaces):
        ....|sometext -> shift+tab -> ..|sometext
        |....sometext -> shift+tab ->|..sometext
        ....some|text -> shift+tab -> ..some|text

        Currently only the first example works and the second and third have no effect. (Shift+Tab only unindents the line if the cursor is placed before any characters except whitespace. If the cursor is at the beginning of the line and shift tab is placed, nothing happens even if there is whitespace before the first…

        7 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          0 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
        • Please create a .Net3.5 off-line install package that can be used with Windows 8.x.

          I have been trying to install Windows 8.1 Embedded via SCCM 2012 R2 and I cannot get it to enable .net.35

          I've tried via an autoinstall.xml file and dism. Short of copying the sxs folder from the instal media so they are available to dism I cannot get it to enable .net3.5.

          Note the client being installed DOES NOT have network access.

          A solution such as teh .net4.5 offline install program would be ideal

          Jim

          10 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 →
          • Exclude time spent on Azure Cloud Service deployment from Visual Studio Online build minutes

            At the moment, I am developing an Azure Cloud Service, hosted in Visual Studio Online and configured for Continuous Deployment.

            During one build, the time spent generally amounts to around 1 minute for the actual building of the solution and 7 minutes for deploying it to Azure.

            Having to use 700% more build minutes just because Azure deployments are slow seems unfair to me as a Visual Studio Online customer. I suggest you exclude the Azure deployment time from the build minutes cost, to make this a more attractive feature to use.

            15 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  ·  Cloud  ·  Flag idea as inappropriate…  ·  Admin →
            • Allow global folder changes

              It would be nice if we can change properties for everything in a folder, instead of doing it individually.

              An example of this would be:
              instead of setting every file's (within a folder) Build Action to Content, and Copy to Output Directory Copy Always, it would be possible to click on the folder and change settings for every item in it.

              4 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                0 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
              • Error: " testing web applications in 64 bit internet explorer is only supported on internet explorer versions 10 or later".

                Hello,

                I have tried to record a coded UI test on IE11 64 bit using Coded UI Test Builder on a Windows 7 -64bit machine with VS 2013 Premium. I can record the method without any trouble but playback fails and gives me an exception and failed. " testing web applications in 64 bit internet explorer is only supported on internet explorer versions 10 or later". Can you please let me know how to deal with the problem.

                25 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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                • Make the installation of Visual Studio light-weight and fast

                  What?
                  Installing Visual Studio takes too long

                  Why?
                  There's a lot of stuff that the VS installer installs that I probably never is going to use.

                  Proposal:
                  Make modules and packages install when needed. The Office-install has had this option for ages, where you can deceide whether you want to install a feature a) now, b) when needed, or c) never. That way the basic install will probably be a lot faster and it will take up less space on our drives (how many terabytes of never-used-features do you think VS is accumulating worldwide?).

                  I belive you already have the…

                  1,812 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…)
                    75 comments  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →

                    Many of you have already seen it, but we’ve released the first public preview of this work:
                    https://blogs.msdn.microsoft.com/visualstudio/2016/04/01/faster-leaner-visual-studio-installer/

                    In Visual Studio 2015, the minimum installation size is 6GB. In the preview of Visual Studio vNext, the minimum installation size is 322MB. We’re seeing installation times in averaging three minutes or less for the core editor experience, based on our telemetry.

                    Visual Studio is a complex product with many options and features, so you shouldn’t expect the overall payload to magically evaporate, but the work we’ve done here should enable you to just install the components you need and to return back to the installer to add or update your environment without fear.

                    Expect to see updates on a regular basis as we crank up the engine; we plan to add additional features both to the installer client and to the tool bundles that it installs.

                    We really do covet your…

                  • The results in the Find Symbol Results should be sorted by line number

                    The results of Find All References in the Find Symbol Results window should be sorted by file path alphabetically and by line number numerically. Currently the results of Find All References in the Find Symbol Results are sorted by file path and by the line number alphabetically.

                    In Visual Studio 2014 Update 4 if you have three matches in a file at lines 8, 50, and 100, the results will be ordered 100, 50, 8 instead of 8, 50, 100.

                    The current behavior makes navigating the results using the F8 and Shift F8 shortcut keys confusing because the cursor will…

                    3 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                    • Fix Test Explorer output (monospace font and output not via link)

                      Arguably a great thing with VS2012/2013 was a new faster test executer. However, the new Test Explorer is in almost all ways a lot worse than the old version. One thing particular is that this UI completely disregard normal code fonts and uses a non-monospace font which causes output formatting to not follow normal trace output in the output window. Since every single developer in the world most likely at one point has depended on monospace font to get formatting right in traces this inconsistency is extremely annoying.

                      Not only the for the fact that to actually get to trace…

                      38 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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                      • Recheck web essentials conflitcs.

                        Hi.
                        I was trying to send a bug but vs did not allow me to do.
                        Here is the situation in html editing.

                        Before installing Web Essentials I can type a and press tab to get a with href and I can use tab to navigate in editable areas in template as usual.

                        But after installing Web Essentials and try to use same zen codeing is overriding. It s ok while I want zen coding but after expanding the zen code with tab and getting the html, tab key does not navigate in editable areas.

                        Thx :)

                        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 and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                        • Enable Unsafe Operations in Visual Basic

                          Hello,

                          The fact that Visual Basic does not have support for unsafe operations is very complicated, it makes many applications can only be written in C#.

                          Visual Basic will die this way, and C# is growing quickly.

                          If Visual Basic also could work with unsafe operations would be great, wonderful, the developer could use the language he loves the most, and not language that supports what he wants to do.

                          I love Visual Basic so much but for the projects that I'm doing is necessary to use unsafe operations and only C# allows me it.

                          I feel sad for not…

                          21 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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                          • Isn't it will be nice if there is reactor for converting if statements to switch case ?

                            Here are if conditions ...

                            if (questionType == Enums.QuestionType.multiradio)
                            {
                            answeredQuestion = answeredQuestions.Where(a => a.TemplateQuestionID == schema.templateQuestionId && (a.QuestionOptionID.HasValue && a.QuestionOptionID != 0)).FirstOrDefault();
                            }
                            else if (questionType == Enums.QuestionType.select)
                            {
                            answeredQuestion = answeredQuestions.Where(a => a.TemplateQuestionID == schema.templateQuestionId && (a.QuestionOptionID.HasValue && a.QuestionOptionID != 0)).FirstOrDefault();
                            }
                            else
                            {
                            answeredQuestion = answeredQuestions.Where(a => a.TemplateQuestionID == schema.templateQuestionId && (!a.QuestionOptionID.HasValue || a.QuestionOptionID.Value == schema.answerOptionId)).FirstOrDefault();
                            }

                            Here is switch ...

                            switch (questionType)
                            {
                            case Enums.QuestionType.multiradio:
                            answeredQuestion = answeredQuestions.FirstOrDefault(a => a.TemplateQuestionID == schema.templateQuestionId && (a.QuestionOptionID.HasValue && a.QuestionOptionID != 0));
                            break;
                            case Enums.QuestionType.@select:
                            answeredQuestion = answeredQuestions.FirstOrDefault(a => a.TemplateQuestionID == schema.templateQuestionId && (a.QuestionOptionID.HasValue && a.QuestionOptionID != 0));
                            break;
                            default: …

                            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 and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                            • Please add the RadialGradientBrush to Windows Store / Universal App XAML

                              This brush is missing in XAML/C# though there is createRadialGradient in WinJS

                              89 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 8 Apps  ·  Flag idea as inappropriate…  ·  Admin →
                              • try to load 7zip source Build.mak...

                                try to load 7zip source Build.mak...

                                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  ·  Flag idea as inappropriate…  ·  Admin →
                                • 3 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    0 comments  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Make MVVM easier to implement

                                    SO MUCH BOILERPLATE CODE, and need for third party tools, it's ridiculous. You need to make it dead simple to implement all aspects of MVVM, from databinding, to commanding, to navigation, and state management. I shouldn't need to add so much basic stuff for something MS is encouraging everyone to do.

                                    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  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Light Version of Visual Studio

                                      The best way to describe it is the Blog from http://elegantcode.com/2012/11/30/visual-studio-light-edition/

                                      Make a Light Version of Visual Studio, that's below 1GB.
                                      Free from the most extensions and useless Background Tasks.

                                      Perfect for small Storage Devices. It will offer possibilities to show Customers Projects in a simpler way and make development on travel easier.

                                      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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Copy paste of type name from a variable tool tip

                                        When hovering above a variable the editor displays a tooltip with the type information.

                                        It would be useful to enable a right click menu that would place the info in the clipboard for future use, this is especially true for long namespaces.

                                        4 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  ·  Languages - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Support for variadic generic arguments in C#

                                          I think it would be nice to have variadic generic arguments on c#

                                          something like this:

                                          class Entity
                                          {
                                          void Add<T, in TArgs ...>(TArgs args)
                                          where T : Item
                                          where T : new(Entity parent, TArgs args)
                                          {
                                          items.Add(new T(this, args));
                                          }
                                          }

                                          This is a lot safer than getting T constructors via reflection and receiving params object[] as arguments.

                                          Maybe this could also be used to declare interfaces

                                          interface ITest<in TArgs ...>
                                          {
                                          void DoSomething(TArgs args);
                                          }

                                          delegate TResult Func<in TArgs ..., out TResult>(TArgs);

                                          public static void SafeTest<T, in TArgs ...>(this T t, TArgs args)
                                          where T : ISample<in TArgs> …

                                          21 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base