Visual Studio

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, visit the Visual Studio Connect site: http://connect.microsoft.com/visualstudio.

ASP.NET Runtime/Web Tooling suggestions have moved! All your ideas, including your votes, have been transferred and are searchable in the ASP.Net Uservoice forum. Please submit any new ASP.NET Runtime/Web Tooling suggestions, or vote on existing suggestions by going to http://aspnet.uservoice.com.

We look forward to hearing from you!

Thanks – Deon Herbert
Visual Studio Team

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 vote and comment on it.

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

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

  • Hot ideas
  • Top ideas
  • New ideas
  1. Update C# IntelliSense

    I noticed "for" & "while" do accept a statement after the closing bracket just like "do while"

    I'll Write some statements to show you what I mean.

    //=======================================
    using System.Collections.Generic;

    int x = 1;
    List<int> myList = new List<int>();

    for (int i = 0; i < 5; i++)
    {
    myList.Add(i);
    } while (x == 0) ;

    while (x != 0)
    {
    x = 0;
    } while (x != 0) ;

    while (x != 0)
    {
    x = 0;
    } myList.ForEach(i => x += i);

    //=======================================

    It will be accepted after formatting my code, and of course it won't affect the…

    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 →
    • 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…)
        1 comment  ·  LightSwitch  ·  Flag idea as inappropriate…  ·  Admin →
      • how to uninstall visual stidio

        I would like to return to express versions of various programming languages, I can not go back to the exoress versions without an uninstall feature available.

        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  ·  Flag idea as inappropriate…  ·  Admin →
        • Improve "Navigate to"

          "Navigate to" is one of the best new features of vs 2010.

          Would be nice that we could change the "scope" of the search to the currently edited source file only OR group the search results like: first the results of the current source file, than the current project and finally for the entire solution.

          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  ·  Flag idea as inappropriate…  ·  Admin →
          • add ability to use Data from Source code provider

            It will be great to have ability to use data from solution source code (classes, enums, structs etc.) in Unit test instead of external or files data providers

            Example:
            struct UserData
            {
            string Login;
            string Password;
            }

            var UsersList = new List<UserData>
            {
            new UserData{"User1","password"},
            new UserData{"User2","fdsfs"}
            }

            [TestMethod(UsersList)]
            public void MyTest(UserData user)
            {
            Asset.IsFalse(SomeAction(user));
            }

            Alot of time this is more usefull and easy and quicker to use internal data sets instead of external

            Also if add here ability to use list of Data Providers as described here http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2843165-add-ability-to-allow-using-list-of-data-providers
            (please vote if you like it also) this can be…

            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  ·  Visual Studio Ultimate  ·  Flag idea as inappropriate…  ·  Admin →
            • Add ability to allow using list of Data Providers for unit test.

              Suggestion:
              Add ability to allow using list of Data Providers for unit test.
              If two or more Data Providers connected to unit test then unit test uses multiplication of this data.

              Example:
              [TestMethod]
              [DataSource("System.Data.SqlClient", "Data Source=<MyDB>;Initial Catalog=TestDB;Integrated Security=True", "Projects", DataAccessMethod.Sequential)]
              [DataSource("System.Data.SqlClient", "Data Source=<MyDB>;Initial Catalog=TestDB;Integrated Security=True", "Operators", DataAccessMethod.Sequential)]
              public void MyTest1()
              {
              Projects Project = ConvertToProject(TestContext["Projects"]);
              Operators Operator = ConvertToOperator(TestContext["Operators"]);
              Assert.IsTrue(SomeAction(Project, Operator))
              }

              For data in tables
              Projects
              | Id | Setting | Status |
              | 1 | 1 | 1 |
              | 2 | 1 | 2 |
              | 3 | 2 | 1 |
              Operators
              | Id | Locale…

              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…)
              • WPF and Silverlight Parity

                When Silverlight started, WPF was a superset of Silverlight, so if I couldn't do something in Silverlight I could always upgrade to it's big brother WPF. Now there is a bunch of stuff in Silverlight that's not available in WPF (Smooth Streaming, MultiScaleBitmap, etc.) so I end up with apps that I can't build because I need some features from WPF and some from Silverlight. Please make the next version of WPF have all the cool stuff you've added to Silverlight over the years. WPF should go back to being a superset of Silverlight.

                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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                • Configure WebClient Timeout and ConnectionLimit

                  Extend System.Net.WebClient to allow for the configuration of Timeout and ConnectionLimit.

                  public class ConfigurableWebClient : WebClient
                  {
                  public int? Timeout { get; set; }
                  public int? ConnectionLimit { get; set; }

                  protected override WebRequest GetWebRequest(Uri address)
                  {
                  var baseRequest = base.GetWebRequest(address);
                  var webRequest = baseRequest as HttpWebRequest;
                  if (webRequest == null)
                  return baseRequest;

                  if (Timeout.HasValue)
                  webRequest.Timeout = Timeout.Value;

                  if (ConnectionLimit.HasValue)
                  webRequest.ServicePoint.ConnectionLimit = ConnectionLimit.Value;

                  return webRequest;
                  }
                  }

                  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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                  • Resolve Airspace iusse to full integrate OpenGL inside WPF

                    There are many programmers and company that develop applications based on geometrical kernels that use OpenGL for drawing (like CAD/CAM applications) often they have an old MFC application, and to pass to a modern view for their applications and give a new user experience for the user they could make new WPF interfaces very quickly but they can't rewrite an entire kernel to pass from OpenGL to DirectX, so often they prefer to remain with MFC without pass to WPF. This could be a very special thing to have the possibility to use OpenGL fully supported by WPF, without airspace…

                    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  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
                    • Allow users to 'sticky' comments & suggestions onto the design or code area and store them as meta info in the solution against that file.

                      Allow users to 'sticky' comments /suggestions/prompts onto the design or code area and store them as meta info in the solution against that file.

                      These comments would be visually appealing.

                      These 'comments' could be toggled on and off allowing other users to see other developers intent.

                      These comments would not be contained in the design/code itself rather be held as meta data against lines/areas of that file.

                      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  ·  Flag idea as inappropriate…  ·  Admin →
                      • Language improvement - fields scoped to properties and events, condensed access declarations...

                        // May I suggest a few improvements to (1) field scoping within classes; (2) verbosity of access declarations

                        // Here is a typical pattern for a field-backed property with lazy / eager initialization
                        public class Container
                        {

                        private readonly int m_someValue;
                        private Example m_lazyexample;

                        protected Example LazyExample // lazy init
                        {
                        get
                        {
                        if (m_lazyexample == null)
                        m_lazyexample = new Example(m_someValue);
                        return m_lazyexample; // m_lazyexample is still accessible in the rest of the Container class, thus there is a risk of using it when still null...
                        }
                        }

                        // if I want to change the access level for a projection,…

                        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 →
                        • Document absence of constraints / rules in Contracts

                          Contracts current only document constraints / rules, not their absence. That means it is hard to distinguish a deliberate lack of a contract and an omission when rereading the code.

                          It would be nice to be write

                          public void MyMethod( object notnullable, object nullable)
                          {
                          Contract.Requires<ArgumentNullException>(notnullable != null);
                          Contract.NoRules( nullable );
                          // the line above documents that the "nullable" can be null.
                          ...
                          }

                          Also, XML documentation should be generated automatically from contracts.

                          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 →
                          • Allow renamed linked files in solution explorer

                            We can rename files in solution explorer, but not if they are add as link.

                            Renaming a file that has been linked, forces us to rename the file outside visual studio, then manually edit the project file to change it's name (or remove the "old" file from the project and add it again with the new name).

                            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  ·  Flag idea as inappropriate…  ·  Admin →
                            • "Not In" operator for Work Item Queries

                              Nearly all WIQL operators can be negated, except for the "In" operator. IMHO there's a need for a "Not In" operator, the negated version of the "In" operator, returning true if a field value is not in the specified list of values.

                              9 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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                              • Simplify File Operations

                                I am new to C# but im searching a lot for how to transform a simple batch file (move c:\file\fileswithi*.* c:\fileswithi) in a c# program or service.
                                A simple batch line cant be developed without thousands of operations and complicated methods. I think if this files operations (File.copy,File.move) could be simplified to be like batch operations with REGEX. The * and the others regexs is the most problems that i have been seeing to write a simple code. Instead of a scheduled batch file i would have a Service runing, so much professional, trustable. This is also a great way…

                                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 →
                                • Show Category in the Window Title Bar when a source-controlled project/solution is open

                                  When using a source-controlled project/solution, show the branch in the Windows Title Bar (perhaps configurable in Options).
                                  It is sometimes necessary to work in more than one branch simultaneously, and the consequences of losing track of which branch is open in a VS instance can be significant. it's currently necessary to look at the properties of a specific file to find the local path in order to identify the current branch. Being able to see that at a glance would be very helpful

                                  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  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Make refreshing custom assembly changes during TFS custom build process development easier.

                                    When I want to test changes made to custom assemblies used by a custom build process in TFS I currently have to:

                                    1) Build the project.
                                    2) Check out the old versions in the source control assembly reference location.
                                    3) Copy the new version over.
                                    4) Check in the new versions.
                                    5) Close Visual Studio and re-open.
                                    6) Now I can test.

                                    Because a lot of testing has to happen within the server build process, doing this every time to troubleshoot \ debug is a hassle.

                                    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  ·  Team Foundation Server  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Make it easier to navigate code pane focus and the tree view focus in Solution Explorer

                                      This occurs more with lots of projects (or projects with lots of structure).

                                      The current behavior is clicking a tab in the code window makes the solution explorer jump to that file in the tree view. And most of the time that is fine (and actually helpful).

                                      Sometimes however I want to keep something selected in the Solution's Explorer while I switch to a different file that is already open in the code pane.

                                      I know the first behavior described can be turned off but I would like to see a toggle button (or maybe even a shortcut but I…

                                      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  ·  Flag idea as inappropriate…  ·  Admin →
                                      • My vwdexpress installation not work fine on my computer. do you have sollution ?

                                        I have download VWD 11 beta on my computer and install it it's not work.
                                        Problem signature:
                                        Problem Event Name: CLR20r3
                                        Problem Signature 01: vwdexpress.exe
                                        Problem Signature 02: 11.0.50214.1
                                        Problem Signature 03: 4f3a2a00
                                        Problem Signature 04: Microsoft.VisualStudio.Shell.11.0
                                        Problem Signature 05: 11.0.50214.1
                                        Problem Signature 06: 4f3a10b5
                                        Problem Signature 07: 13ed
                                        Problem Signature 08: 56
                                        Problem Signature 09: System.InvalidCastException
                                        OS Version: 6.1.7600.2.0.0.256.1
                                        Locale ID: 16393
                                        Additional Information 1: 0a9e
                                        Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
                                        Additional Information 3: 0a9e
                                        Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

                                        Read our privacy statement online:
                                        http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

                                        If the online privacy statement is not available, please read our privacy statement offline:
                                        C:\Windows\system32\en-US\erofflps.txt

                                        5 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  ·  Install  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Automatically Update Project References

                                          In a solution with multiple projects, it is very common to have some projects reference other projects. For example, let's say that 'project A' references 'project B'. If I rename 'project B' to 'project c', 'project A' still maintains a reference (in its reference list) to 'project b' even though it doesn't exist by this name anymore.

                                          I suggest that the IDE should be able to update the references automatically since it is the same project, with the same GUID.

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

                                          Feedback and Knowledge Base