Visual Studio IDE

Announcement: Last fall, we migrated this forum to Visual Studio Developer Community to provide you one convenient and responsive system for all feedback. As the final step in the migration, this forum will be closed off completely on June 1st, 2019. We encourage you to visit Visual Studio Developer Community where you can now suggest new ideas, browse and vote on existing ideas, and engage with Visual Studio teams.

We’d like your suggestions and ideas to help us continuously improve future releases of Visual Studio, so we’ve partnered with UserVoice, a third-party service, to collect your feedback. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.

This site is for feature suggestions; if you need to file a bug, you can visit our Developer Community website to get started.

Note: your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy and license terms.

We look forward to hearing from you!
- The 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 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. Make declartion of 'standard' value type more easily

    There are too many boiler plates to implement value type even if it has only primitive types, for example:
    public struct Foo : IEquatable<Foo>{
    // some fields...
    public Foo( ... ){ /* Initialize ALL fields with simple assignment */ }
    public override bool Equals( object obj ){...}
    public override int GetHashCode(){...};
    public static bool operator ==(Foo left, Foo right){...}
    }

    It is great that we can write above code as:
    public equtable struct Foo
    {
    // just declaring fields only primitives or IEquatable<T>s...
    // IEquatable<T>, Equals, GetHashCode, operator == and != are automatically implemented.
    }

    0 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  2. Support opening of static classes as Java does, e.g. open static System.Math; so for example Math.Max can be shortened to Max

    Allow the static keyword to be applied in an open namespace declaration, e.g. open static System.Math allowing static classes to be treated as namespaces and avoid having to fully qualify every method call, i.e. Math.Max becomes just Max

    0 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for taking the time to share this suggestion. This item has been around for a couple of versions of Visual Studio and we haven’t acted on it. Looking at the VS “15” plans, we’re not going to take action on this item, so we’re going to close it. If the suggestion is still relevant, please either take a look to see if there’s another suggestion that’s similar that you can vote on, or open a new suggestion.

    - The Visual Studio Team

  3. please provide a method: GC.SetGeneration()

    we can use GC.GetGeneration() to know the generation of an object, but we can't set it. I think if we can set it, we will have more chance to optimize our program. For example, in many cases, we know an object will never be used, if we can set its generation to be zero, then the object may be collected more quickly. Even if we use it wrongly, it will not cause serious problems.

    0 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  4. var for function paramaters

    C# compiler should allow var as a parameter type for functions. The compiler should allow generic code to be written similar to F# where types of a function are not determined until the call site. In order to have this be a compile time feature only the implied access restriction should be internal or private freeing the compiler to only have to generate code for types know during the compilation of the module that contains the new type of function.

    0 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
  5. "new Default" while decalre fields

    SomeType a = new SomeType(Params....)

    when the type name of ‘SomeType' is very long, i want:
    SomeType a = new Default(Params....)

    0 votes
    Vote
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Languages - C#  ·  Flag idea as inappropriate…  ·  Admin →
1 2 27 28 29 31 Next →

Feedback and Knowledge Base