Visual Studio IDE

Welcome to the Visual Studio UserVoice site. Let us know what you would like to see in future versions of the Visual Studio suite of products. This site is for suggestions and ideas. If you need to file a bug, you can visit our Developer Community website to get started. 

For suggestions for improvements to other developer products, see these sites:

To review the current UserVoice statuses and their definitions, please review our “What Does the Status of My Feedback Mean?” article.

We look forward to hearing from you!

- The Visual Studio Team
Terms of Service and Privacy Policy

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Add support to C# for dot notation

    Since C# is type aware could you add support for dot notation, for example suppose I have an Enum called CardTypes

    public enum CardTypes { Visa, VisaDebit, Amex }

    And a property in a class

    public class CreditCard {
    public CardTypes CardType { get; set; }
    }

    When assigning to the property we could use syntax like this:

    var creditCard = new CreditCard();
    creditCard.CardType = .Visa

    Because C# knows that `CardType` is of type `CardTypes` the compiler would know that `.Visa` is an enum value of that type

    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 →
    • Add an escape sequence for decimal valued Unicode: \d255

      I would like decimal based (not Hex) escape sequence for Unicode.

      Currently there is:
      \u - Interpret the next four characters as hex Unicode
      \U - Interpret the next eight characters as hex Unicode
      \x - Interpret the next however many [0-9a-fA-F] as hex Unicode

      What I'd really like is a similar notation for using decimal:
      \d - Interpret the next 5 [0-9] as dec Unicode
      \D - Interpret the next 10 [0-9] as dec Unicode
      \X - Interpret the next however many [0-9] as dec Unicode

      This would make it easier to work with decimal representations of Unicode situations…

      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 →
      • provide a different icon for projects added as a reference versus projects yet to be added as a reference.

        You currently add a project to the solution.
        This shows up in the solution explorer as an unrolled list with an icon next to it.
        It would be nice for this icon to change based upon the referenced state of the project.
        This gives a visual clue to when a project has been added to the solution to be built against (referenced), or the project was added to allow easier source view and linking of debug symbols (unreferenced).

        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 →
        • Add a new shortcut for amending properties (a bit like With but much more concise) to avoid repetition.

          Add a new shortcut for amending properties (a bit like With but much more concise) to avoid repetition.

          For example, instead of:
          opPrice.Items.Item(0).DisplayText = opPrice.Items.Item(0).DisplayText.Replace("()", schemeName)

          it should be:
          opPrice.Items.Item(0).DisplayText = ..Replace("()", schemeName)

          In other words, a double-dot (or possibly triple-dot) would be a shortcut for the thing being assigned.

          Shortcuts such as += already exist but .. would be a useful shortcut in numerous cases where += doesn't apply - for example, if you want to apply Replace or Trim or ToUpper.

          Instead of:
          custName = custName.Trim()
          I propose
          custName = ..Trim()

          It's a bit like With, but a…

          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 - Visual Basic  ·  Flag idea as inappropriate…  ·  Admin →
          • Make SSIS/SSRS embedable into applications.

            There are many scenarios when an application needs to load data into a table( ex. "Import From File" functionality). It would be great if one could embed a lightweight version of SSIS runtime into an application without having to install/configure servers.

            I would still want to create/debug DTSX files in VS but instead of a separate project type, it would be available to add to any VS project type.

            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  ·  SQL Server and Data Tools  ·  Flag idea as inappropriate…  ·  Admin →
            • Please add support in Visual Studio (2015) to properly edit .tcl files (coloring and unique words)

              Currently editing .tcl files is torturous as there are no colors in the editor. It is simple to add for you guys and would greatly benfit .tcl developers worldwide

              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  ·  Languages - Other  ·  Flag idea as inappropriate…  ·  Admin →
              • Label Running Instances of the VS Program

                I often use Visual Studio to connect to many different TFS instances at the same time. It would be nice if the label that shows when you mouse the window in the Task Bar were customizable to show something that would help me determine which one was which.

                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  ·  User Interface  ·  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  ·  Accessibility  ·  Flag idea as inappropriate…  ·  Admin →
                  • Visual Studio 2017 - Installer: Workload for C++ UWP games

                    The current Universal Windows Platform also installs C#/Visual Basic, .NET, Blend for Visual Studio... etc.
                    As a C++ game developer for Xbox One, Windows 10, Win32, I'd like to have a workload that is slimmer and excludes the unessential .NET etc. technologies. And when available one that excludes even C++/CX.

                    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 →
                    • Confirm before closing side windows

                      When I click "x" to close a window different from the main one, I would like to get a confirmation box. Reason: if I closed the main window, I can restart the Studio. If I closed a side window the list of tabs opened there is lost.

                      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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                      • visualstateGroup

                        It would be very useful if the XAML UI could check to make sure that all the VisualStates and VisualStateGroup are valid for the TargetType specified for the style. This would make the transition from previous versions of WinRT to UWP much easier and would also help in those cases when you make a type and are trying to troubleshoot whats going wrong with the UI.

                        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  ·  UWP / WPF / XAML Tools  ·  Flag idea as inappropriate…  ·  Admin →
                        • Force Rebuild File Option For --DATE-- --TIME-- Macros

                          I timestamp my builds with a macro, but this only works if that binary file is rebuild. There should be a per file option to force the rebuild of a file, similar to how there exists an `Exclude From Build` option in VS2012.

                          QString datetime;
                          datetime.sprintf("Build date: %s @ %s\n",__DATE__, __TIME__);
                          text.append(datetime);

                          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 →
                          • Expose Collation Info of SQL Server Result Set via SqlDataReader

                            The exact collation of each string field should be publicly available. The properties can be added to the DataTable returned by the GetSchemaTable() method, or they can be added as individual properties and/or methods of the SqlDataReader class, or a combination of both. The properties are:
                            1) LCID
                            2) SqlCompareOptions
                            3) collation_name (e.g. Latin1_General_100_BIN2)

                            The "LCID" and "SqlCompareOptions" values already exist in the "SqlDataReader" class, but are private or internal ( http://referencesource.microsoft.com/#System.Data/System/Data/SqlClient/SqlDataReader.cs,277 ). These would make sense to put into the GetSchemaTable output.

                            The "collation_name" value is necessary due to the combination of "LCID" and "SqlCompareOptions" not being enough to…

                            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…)
                              2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                            • Change default path when labelling (source control) a solution

                              When I apply a label to a solution, I want to label the entire solution (all files) rather than just the solution file (.sln file), but that is not the default option.

                              I label a solution by selecting the solution in the Solution Explorer. Then I click File -> Source Control -> Advanced -> Apply label. Now a dialog appears, allowing me to choose the source control path I want to label. By default, it says something like $/MySolution/MySolution.sln. I would prefer it would just say: $/MySolution

                              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 →
                              • Add a Split View and Zoom on Solution Explorer and Class View

                                The same feature with the IDE code editor where you split and zoom your code but this time you split and zoom the Solution Explorer and Class View.
                                This is very helpful in solutions with many projects.

                                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 →
                                • It's about time for an ASP.NET Core API client entity generator

                                  Please make a built in tool in VS that integrates seamless consumption of Web API apps by providing seamless client DTOs/POCOs/Entities and Http Clients generated automatically by client projects, answering the local demands (for example INotifyPropertyChanged implementation in a XAML project), JS/TS entities for web-app consumers etc.

                                  I'd love to see something like we used to have when the WCF RIA Services mania was going on in those beloved LoB glorious days when Silverlight existed.

                                  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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Remove special formatting from jumplists

                                    Currently, solution names in task bar jump lists seem to be split by camel case into words. "MyEntityFrameworkProject" becomes (literally) "My Entity Framework Project | MyEntityFrameworkProject".

                                    I don't think this adds any value. Certainly, the duplication doesn't. It was a nice idea but it doesn't work out. Please remove this and simply show "MyEntityFrameworkProject".

                                    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 →
                                    • Range checking in debug mode (for valarrays)

                                      All array types (normal arrays, vectors, valarrays, etc.) should be automatically range checked in debug mode. Your documentation suggests they are, but at valarrays are not.

                                      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 →
                                      • XmlSerializer should recognize "True" as a valid boolean (Case insensitivity)

                                        Problem: "true" is recognized as valid by XmlSerializer, while "True" with a capital T is not.

                                        Expected behavior: Clearly, the value is unambiguous and valid and should be recognized as the boolean value "true".

                                        Error trace:

                                        2016-10-24T10:25:36.8585544 |System.InvalidOperationException: There is an error in XML document (15, 10). ---> System.FormatException: The string 'True' is not a valid Boolean value.
                                        2016-10-24T10:25:36.8585544 | at System.Xml.XmlConvert.ToBoolean(String s)
                                        2016-10-24T10:25:36.8585544 | at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPureNeuralNetMtTrainingConfig.Read6_PureNeuralNetMtTrainingConfig(Boolean isNullable, Boolean checkType)
                                        2016-10-24T10:25:36.8585544 | at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderPureNeuralNetMtTrainingConfig.Read7_PureNeuralNetMtTrainingConfig()
                                        2016-10-24T10:25:36.8585544 | --- End of inner exception stack trace ---
                                        2016-10-24T10:25:36.8585544 | at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
                                        2016-10-24T10:25:36.8741865 | at System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)
                                        2016-10-24T10:25:36.8741865 |…

                                        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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Fix the C++11 concurrency implementation to use the Moniker allocator AND dealloactor (and not just one of them)

                                          Up until the last time I checked, the concurrency runtime would use the Moniker allocator and not use it to deallocate memory. This causes issues with some custom memory allocators.

                                          If the C++11 concurrency implementation would use it to allocate AND deallocate, the problem would be solved.

                                          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 →
                                          • Don't see your idea?

                                          Feedback and Knowledge Base