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. runtime, 'go to define' can determine the implementation class

    runtime, 'go to define' can determine the implementation class

    interface ISome
    {
    void Test();
    }

    class MyClass1: ISome
    {
    public void Test()
    {
    Console.Write("MyClass1");
    }
    }

    class MyClass2 : ISome
    {
    public void Test()
    {
    Console.Write("MyClass2");
    }
    }

    class Test
    {
    public void Run()
    {
    ISome a = new MyClass1();
    ISome b = new MyClass2();
    //while runtime and break at here
    a.Test();//i want press 'F12' go to the define line of 'MyClass1.Test' not ISome
    b.Test();//i want press 'F12' go to the define line of 'MyClass2.Test' not ISome
    }
    }

    0 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 →
    • New instruction for language, can replace multiples dictionnaries

      Add a new feacture for adding "properties" on exsting class, but only in the scope
      For example, you have a class A with property p1 AND p2
      During a void/sub you add a line to extend the class AddvirtualProperty(A,PropertyName,Type)
      And the compiler store this new variables for the instances you use in this scope when needed

      in my case a had to create a dictionary for storing a additionnal information
      with this i could just write
      A.MyNewVirtualProperty = [some calculations]

      this is readable

      0 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 →
      • break form

        Every time I hit the break button I get the anoying message that my appliation is in "break mode". If I don't want this I can just press F5 and get going again. WHY do I need to be reminded that I clicked a button??? Do you like it when you would get a message like this on every button you clicked???

        WHY do I use this: so I can edit some code or find WHAT is going on when an application takes a long time to perform an action. I just want to stop where the program is at…

        0 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 →
        • Utility for Determining Minimum Required Version for Universal Apps

          I normally don't use in my code most of the features that are changed significantly enough that they wouldn't work on all versions (well, at least 8.1 and up), so this probably won't be a big problem for me, but in Visual Studio 2015 you need to specify a minimum required version. Because the changes between builds & versions are so small, I think it would be useful to have a utility that can help us determine what this would be. Right now, I plan on always selecting the minimum option, because I would have no idea how to even…

          0 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 →
          • Extend regex syntax to support verbatim string chunks

            Let's say someone tries to find all public properties, with stub implementation returning null. Regex would look something like this:
            "public\ [a-zA-Z]+\ [a-zA-Z]+\ \{\ \{\ return\ null\;\ \}\ \}"
            I suggest to support something like
            "public\ [a-zA-Z]+\ [a-zA-Z]+'''({ { return null; } })", where '''() would indicate that every symbol inside () should be interpreted as is, e.g. like in C# verbatim strings.

            Also, I would add some symbol to separate regex string pieces visually.

            0 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 →
            • 早点 开源 开源 不得不说你们微软有的东西做的实在是垃圾不是一般的垃圾

              早点 开源 开源 不得不说你们微软有的东西做的实在是垃圾不是一般的垃圾
              不要垄断,别人的东西比你们做的东西简洁方便,这个不得不承认

              0 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 →
              • System.Web.Optimization Bundle.Include should throw a FileNotFoundException

                I hadn't noticed a typo in a filename that I had in my Bundle. It took me forever after clearing browser caches to start debugging the bundle and see that it was just dropping the string passed in. If it can't find the file, it shouldn't be a silent error.

                0 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 →
                • Generate Verilog source (IL) from C# syntax tree for FPGA and ASIC design -- Edited

                  There is correlation between Verilog Modules and C# classes.
                  Both have conditional assignment and hierarchical structure.
                  Get/Set correspond to inputs/outputs.
                  Both have arrays, variables, operators, etc.

                  There is need to design and run SoC software and hardware
                  model on a common platform and this is a way based on defining
                  the Boolean Algebra logic of the hardware as a class hierarchy.

                  Verilog uses a module hierarchy to define hardware. There is so much
                  correlation between C# classes and Verilog modules that Verilog can be generated, possibly as an IL for the hardware.

                  Syntax Tree nodes correspond to FSM states.
                  Design/Debug…

                  0 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                  • need keyword 'implements' like in pascal

                    need keyword 'implements' like in pascal

                    0 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 →
                    • Color code highlighted code in review screens to match commenters

                      Its hard to associate comments with the highlighted code, Color coding the highlights so you can see which comment is associated with which rviewer would make it a lot easier.

                      0 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 →
                      • Generic AsyncCallback and IAsyncResult for async operation

                        IAsyncResult has AsyncState that is object. This should be convert to Generic along with AsyncCallback in every places

                        0 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 →
                        • Reset "Team Explorer" to home when flipping from another tab

                          When flipping to "Team Explorer" tab (from another tab), it should reset like clicking Home.
                          if you've been away on solution explorer, etc - you probably don't want whatever random team explorer page you were on last time.

                          0 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  ·  User Interface  ·  Flag idea as inappropriate…  ·  Admin →
                          • Allow for visual representations be available for GDI objects

                            There is natvis:

                            http://blogs.msdn.com/b/vcblog/archive/2013/06/28/using-visual-studio-2013-to-write-maintainable-native-visualizations-natvis.aspx

                            and writing visualizers:

                            https://msdn.microsoft.com/en-us/library/e2zc529c.aspx

                            But I can't seem to figure out how to write a visualizer for GDI objects. They appear to have a type (HICON, HBITMAP, HMENU, etc...) but given the information and samples that are provided, which is all written in C#, I don't know how I would go about using the visualizer interface.

                            I've asked on this blog:

                            https://code.msdn.microsoft.com/Writing-type-visualizers-2eae77a2/view/Discussions#21732

                            And he says that it can't be done as the items are handled as PVOID, which is clearly not the case from the C++ perspective, so I'm assuming that this is some mapping problem…

                            0 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 →
                            • Add a feature in SSIS to configure the execution of multiple of instances of a data flow in parallel.

                              When working with large source data sets, it would be great to be able to divide the work among multiple instances of a same data flow. From a user standpoint, we could simply add a filter to the source SQL statement to partition the data source.

                              0 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 enable TestCases in MSTest

                                Please enable TestCases in MSTest

                                0 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  ·  Test Tools  ·  Flag idea as inappropriate…  ·  Admin →
                                • Propose a manual merge when the SLN was edited from outside VS

                                  Visual Studio is lazy concerning saving changes of SLN and csproj files. It does it only when you build something. Sometines one of these files gets edited from a merge tool and you are faced with a ugly choice of abandoning modifications or overwriting the file. VS should propose to do a manual merge in a tool for this case.

                                  0 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 →
                                  • Improve the experience when debugging store/COM objects with VC++ to bring it into line with doing the same thing with C# .Net.

                                    With the Windows store interfaces being COM, the experience you have debugging a C++ store application is considerably less useful (it's largely useless in fact) than it is with C#.
                                    For example, if you examine a Windows.Storage.StorageFolder variable when debugging a C# app, you can see the names and values of the properties. Doing the equivalent in C++ just shows you Platform::Object and its __vfptr and the interface methods - hardly what you'd hope for.
                                    This makes development using what should be the best choice language for store applications a pain.

                                    0 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 →
                                    • Find all results should have a "Refresh" or "Repeat search" button

                                      Find All is underutilized because it has issues (see, I didn't say it sucked :))

                                      One need is to be able to repeat the search with one button

                                      0 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 →
                                      • SQL index during table creation

                                        BUG!

                                        The following is valid SQL:

                                        CREATE TABLE [x] ( [id] , INDEX [x_index_id] CLUSTERED ( [id] ) )

                                        works fine (SQL2012, probably earlier).. but VS (2013) flags the INDEX keyword, as well as the column being indexed.

                                        similar examples on MSDN: https://msdn.microsoft.com/en-us/library/ms174979.aspx

                                        0 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 →
                                        • Create a shortcut Alt+Enter (like Resharper)

                                          Currently the Resharper has an Alt+Enter to fix common issues. This comes with either adding missing namespaces or libraries or with correcting suggestions to correct for wrong naming conventions. Pushing the light bulb takes too much time.

                                          And in my experience even if there is an unexperienced user, just telling him Alt+Enter helps to beautify his code is a pretty good prsychologic shortcut that he surely will use it - because it's easy.

                                          In our company everyone is now beautifying his code with resharper. But having this feature event in the core installation of VS would help a lot.

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

                                          Feedback and Knowledge Base