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. New C#

    C# хорошо развивается как новыми возможностями, так синтаксическим сахаром. Решая различные задачи, я с несколькими сложностями в их реализации в силу того, что C# на это не способен. Поэтому хочу предложить на рассмотрение того, чтобы я хотел видеть в C#:

    1. Создание объекта

    var myType = typeof(myClass);
    var myObject = (myClass)Activator.CreateInstance(myType);

    Хотелось бы использовать название класса как переменную

    var myVariable = myClass;
    var myObject = (myVariable)Activator.CreateInstance(typeof(myVariable));

    2. Вызов расширенной функции для перечисления

    public enum Numbers
    {
    One = 1,
    Two = 2,
    Three = 3
    }

    public static class ExtentionEnum
    {
    public static bool IsContains(this Numbers source, string value)
    { …

    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 →
    • comments for JavaScript object anonymous function

      In vs 2017 I can create an xml comment like this:

      /**
      * Function description
      * @param {string} arg1 this is a string
      * @param {number} arg2 this is a number
      * @param {Array} arg2 this is an Array
      let someFunction = function(arg1, arg2, arg3) {

      }

      but not for an objects method like this:
      // xml comments do not work here
      $scope.someFunction = function(arg1, arg2, arg3) {

      }

      this feature would be very useful for angular developers.

      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 - JavaScript  ·  Flag idea as inappropriate…  ·  Admin →
      • 能否提供下载完成后,自动关机的功能?

        下载或者更新完VS后自动关机

        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 →
        • My suggestion is not to change operator precedence between versions of VS

          As an example, this code is valid for VS2015:
          for (var i = 0; i < hex.Length >> 1; ++i)

          Whereas in VS2017 you now require:
          for (var i = 0; i < (hex.Length >> 1); ++i)

          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 →
          • Copy GIT features from VS Code.

            Specifically, I like a "changes List" where when I click a file I see the changes made to the file almost immediately. in VS 2017 I have to double click and it is super slow

            2 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  ·  Version Control (Git/TFVC)  ·  Flag idea as inappropriate…  ·  Admin →
            • Double clicking name in Add New Item dialog should exclude the file extension from the selection.

              The Add New Item dialog proposes a file name for the new item, such as "class.cs". Double clicking on the part of the name before the extension selects the entire string, including the ".cs". However the most common need is merely to change the filename to that of the class it will contain, not to change the extension. I suggest that the behaviour be changed so that the file extension is not included by default when the name is double clicked.

              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 →
              • Support language-server-protocol

                As the number of supported languages is growing, it would be nice to have support for the language-server-protocol in Visual Studio.

                https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations

                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  ·  Extensibility  ·  Flag idea as inappropriate…  ·  Admin →
                • User Experience of programmers while coding in VS

                  Android Studio is amazing regarding UX of programmers. There are some minor things can be done in VS to improve UX. I guess the reason this never happened in VS is the producers dont care! Some examples are in below:

                  1- You have the name of classes not included(used dll) in the current class in intellisense. You dont need to write the complete name of class to inform the intellisense about it and import it.

                  2- You have some default name suggestions after you write the name of

                  3- You have tip of the day that suggest most useful features…

                  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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                  • Team Explorer - Pending Changes

                    In Team Explorer - Pending Changes section in Visual Studio IDE (all supported version), there should be an option to zip/or copy the modified files to copy them on the computer. I know we can shelve the code changes, but sometimes it is easy to simply keep a copy of files on preferred computer location.

                    it's like, 1) user click on any folder/file in Included/Excluded section, the context menu will have one more menu item to "Export/Copy to" which will open the save folder/file dialog and the user can choose a place to save the selection.
                    2) if user select…

                    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…)
                      0 comments  ·  Version Control (Git/TFVC)  ·  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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                      • When downloading Visual Studio 2017 installer.

                        It would be nice to some indications of the current status of the download

                        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…)
                          1 comment  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
                        • Block Structure Guides for C++ Text Editor

                          I love the block structure guide lines in VS2017 for C# and F#, they make code so much easier to follow. So it would be absolutely fantastic to see them in C++ text editor as well.

                          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 →
                          • Update CMake integration to support CMake 3.8 to get C# support

                            Great to hear CMake integration now supports CMake 3.7.2 in Visual Studio 15.2. Sadly, C# support wasn't added until CMake 3.8. You're so close, just an incremental update and you'll get C# project support!

                            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 →
                            • Improve Object Browser: make asynchronous and easier target set

                              Please make the Object Browser faster.
                              1) Make loading data asynchronous providing a cancel button, this happens when
                              a) Loading the OB
                              b) Searching for a type or member
                              c) Changing the component set
                              2) Provide better contemporary component set patches, such as PCLs by profile, Xamarin etc.

                              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 →
                              • Handle Controller and Action references as objects and not strings

                                For example when using RedirectToAction or Url.Action, we have to enter strings for the controller name and the action name. If I were to then rename the controller or the action at a later point in time, it is a big effort to find all the correct search locations. Instead, if the methods took objects, you can do one rename that would rename everything.

                                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 →
                                • wordwrap function names in the three columns of the caller/callee CPU profiling view.

                                  Wordwrap function names in the three columns of the caller/callee CPU profiling view. With a portrait orientation monitor all I can see is namespace.subnamespace.class::f..., where f... is the bit I actually care about.

                                  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  ·  Debugging and Diagnostics  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Make Fakes warning "Some fakes could not be generated" a Message

                                    Building a fakes assembly generates often a "Some fakes could not be generated. For complete details, set Diagnostic attribute of the Fakes element in this file to 'true' and rebuild the project." This message is to high for a warning. There is no easy way to suppress this warning in a build to get a clean output. See https://stackoverflow.com/questions/19379672/fake-assemblies-show-warnings-when-generating-shims-for-interface-and-stubs-for

                                    So make this a Message Level or add a simple option in the fakes file to suppress this.

                                    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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Visual Studio offers a great way to edit source code through IntelliSense. It would be great through to have something like "Scripts/Automa

                                      Visual Studio offers a great way to edit source code through IntelliSense. It would be great through to have something like "Scripts/Automation". I imagine something like putting a button in your source code editor that counts up the version number when clicked, or in general: modifies the source code in a certain way. I cannot only imagine this for buttons, but also other controls like CheckBoxes (e.g. to comment and uncomment code), RadioButtons (e.g. to switch out small parts of the code quickly).

                                      This kind of programmable source code controls would make life a whole lot easier.

                                      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  ·  IDE and Editor  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Visual Studio 2017: Recent + vertical scroll bar (not visible)

                                        When VS 2017 starts, vertical scroll bar in Recent can not be seen.
                                        After mouse pointer is on Recent, it appears.
                                        This is very inconvenient. Scroll bar should be visible always, without user's action.

                                        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  ·  Accessibility  ·  Flag idea as inappropriate…  ·  Admin →
                                        • -Winconsistent-missing-override equivalent

                                          Clang has this nice switch that will emit a warning if a class has at least one member using the 'override' keyword, but also overrides other members without using that keyword. This would help updating a codebase to using this keyword in a progressive manner.

                                          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