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 Exception mapping easier, through XML Comments <Exceptions> and intellisense

    Using XML Comments to store Exceptions information that can be thrown is an excellent way to see what exceptions that can/should be trapped when using a given method. But there is a disconnect with how powerful and effective this could be.

    1 <Exception>Comments in exception xml aren't displayed in intellisense</Exception>

    2 When writting a catch statement, intellisense could/should pull possible exceptions from the XML Exception Comments for the methods used in the try block.

    3 a small tool or wizard should check through all the exceptions thrown by a method, and all the exceptions not caught for methods it calls…

    24 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  2. Needs Generic Version Of XmlObjectSerializer And All Its Derived Classes

    As you guys know:

    1. The type of arguments of DataContractSerializer and DataContractJsonSerializer constructors are Type.
    2. The type of WriteObject method argument is System.Object.
    3. The type of ReadObject return value is System.Object.

    So here's my question: why is there no generic version of these classes for strictly typed usage? They are all derived from XmlObjectSerializer class. If .NET framework can provide the generic version of XmlObjectSerializer and all its derived classes, that will be great!!

    24 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  3. Impement IReadOnlyCollection<> in collection types.

    Add IReadOnlyCollection<> interface to a next classes:
    1) HashSet<> and SortedSet<>
    2) Queue<>, Stack<> and LinkedList<>

    22 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  .NET  ·  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

  4. Create an agent framework that supports distributed processing

    Borrowing from the experience of Erlang and the research on Axum, I think that a great addition to the .NET framework would be a framework to execute computations in a distributed fashion based on agents.
    Right now achieving this in .NET requires significant effort, starting from the message-passing all the way up to the load balancing. This seems to me like the kind of project that Microsoft should find beneficial for it both empowers the community and helps from a strategic standpoint (think of such systems on Azure, maybe even with autoscaling and an API to control that...).

    22 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  .NET  ·  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

  5. implement INotifyCollectionChanged on System.Data.Linq.EntitySet<T>

    Because EntitySet<T> doesnt implement INotifyCollectionChanged, LINQ-to-SQL is unable to notify WPF of any additions/removals. The results are that binding any data returned from LINQ-to-SQL cannot have any children added or removed visually.

    21 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  6. Finish a less naive implementation of System.Net.WebClient

    This initially appears to be a high-level object, but blocks access to high-level HttpWebRequest properties like CookieContainer, IfModifiedSince, AllowAutoRedirect, UserAgent, Referer, ContentType and Encoding; and high-level HttpWebResponse properties like LastModified, ContentType and Encoding. Instead, you have to add or retrieve these headers as strings, manually providing or consuming any dates in the obscure HTTP header format, and parsing the Encoding from the Content-Type.

    Without cookies, WebClient isn't well-suited to most tasks requiring multiple requests. Without the other headers mentioned, it is also not well-suited to nontrivial requests.

    WebClient also doesn't provide static methods for simple requests, but instead requires management…

    20 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  .NET  ·  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

  7. Auto-expand functions as expression tree in LINQ-expression

    Example:
    class Employee
    {
    public string FullName
    {
    get { return FirstName + " " + LastName; }
    }

    public string LastName { get; set; }

    public string FirstName { get; set; }
    }

    Query like this
    var employees = (from employee in db.Employees
    where employee.FullName == "Test User"
    select employee).ToList()

    Can be compiled as
    var employees = (from employee in db.Employees
    where (employee.FirstName + " " + employee.LastName) == "Test User"
    select employee).ToList();

    20 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  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

  8. Enhance EF framework by adding implimentation of INotifyPropertyChanged to the T4 template as well as some partial methods

    For EF, it would be great if we had INotifyPropertyChanged implemented by default in T4 templates. What I've done is used this, in conjunction with dbContext.ChangeTracker, to add a property called RowState (which would be another nice to have), so that I can bind to this property in a DataTrigger if needed. In addition, it would be nice if each property had its own partial method invocation (at least for each set), so that if we wanted to perform other tasks while a property is set we could easily extend in a partial class.

    20 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  .NET  ·  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

  9. DynamicMethod to support generic type parameters like MethodBuilder does

    The DynamicMethod class does not support creating generic methods (i.e., methods with generic type parameters) but the MethodBuilder class does.

    For Lightweight Code Generation (LCG) on the fly, use of DynamicMethod is ideal but currently it's missing this important feature.

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  .NET  ·  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

  10. SQL Compact 4 work with for Linq to SQL

    Have SQL Compact 4 work with for with Linq to SQL without having to do hack your way to make it work

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  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

  11. Next-gen GC performance, NEW AGE of Allocations Speed

    When i tested GC performance (C# "new" allocation speed of arrays and objects) of .NET 4.0 i found at least 1 huge perforamnce issues.

    To significantly improve C# allocation speed and whole .NET programm performance, especially in games, i suggest to make the following:

    1) DO NOT "ZERO" memory synchronously before allocation (like .NET 4.0 does). Next-Gen is to Zero memory ASYNCRONOUSLY (in other thread) and right AFTER old object release, NOT before new allocation. This will BOOST memory allocation speed to the heavens. In short words all memory must be zeroed beforehand.

    2) [less important for now] Make private…

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  12. 19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  13. Extend string class methods

    Extend the string class with

    bool myStr.IsNullOrEmpty
    bool myStr.IsNotNullOrEmpty
    string myStr.Before("@");
    string myStr.After("@");
    string myStr.Between("www.", ".com");

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  14. Dynamic execution of code in the space program for scripting

    in. net 4 can compile code at runtime and loading it into the AppDomain. It seems to me that you want to extend this useful functionality and allow execution of arbitrary code from the right during the execution of the program, and in the same namespace, or in the same AppDomain, and have access to all connected to the library project. For example I need to calculate the data according to the formula, but formula can vary depending on the legislation, or other causes. And it would be nice to be able to execute code from a string. Then they…

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  .NET  ·  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

  15. 18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  16. Allow sharing user controls (ascx) in ASP .NET projects as a separate ***embly

    Many times it is required to create controls with the same functionality with two or more web projects. ASCX files are good because design is made in HTML, doing the same ***erver control is much more complicated. It would be good to have possibility to move common controls to separate ***embly (or web project) and use them in several projects

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  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

  17. Make "ReturnUrl" a configurable key name instead of having it hard coded in System.Web.Security.FormsAuthentication

    Since "ReturnUrl" is a hard coded string in the FormsAuthentication module, which is sealed, I cannot easily have my application use a different string for this purpose. In my case I'd like to use a different string for technology obfuscation purposes (if a malicious user sees ReturnUrl then they know it's likely being served by ASP.NET which may help them more efficiently target their attack), but I could see others wanting to simply have a shorter querystring key, or perhaps one that fits into existing corporate naming standards, etc. Why not make this string ("ReturnUrl") configurable in web.config under system.web/authentication/forms?…

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  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

  18. Protect and Unprotect data with DataProtectionScope.CurrentUser option across computers in the same domain

    Kindly provide an option to protect and unprotect data across computers in the same domain when DataProtectionScope.CurrentUser option is used.
    Currently this works on the same computer for the same user.

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  .NET  ·  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

  19. Add support for LLVM

    Allow either .Net code (C#, VB, F#, etc) or CIL code to be complied into the Intermediate Form of LLVM so that platform specific optimized code may be generated. http://llvm.org/

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  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

  20. Please support negative/positive lookbehind in regex

    e.g. (?<! expression ) and (?<= expression )

    Lookahead is supported but lookbehind is not. Please see the following URL for an explanation:
    http://www.regular-expressions.info/lookaround.html

    18 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  .NET  ·  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

Feedback and Knowledge Base