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. Support for vector export in EMF format, in Microsoft Chart Controls

    Support for vector export in EMF format, in Microsoft Chart Controls
    The EMF export in Microsoft Chart Controls is in fact a raster image in an EMF file.
    I would prefer to obtain a vector export (in case of curves, scattered points, histograms, ...).
    A raster export is possible in JPG, PNG, etc... formats, but there is no way to obtain a vector format. Why ?

    17 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 →

    I want to personally thank you for taking the time to share this suggestion. Since the suggestion you raised has not gathered many votes, the Visual Studio team is prioritizing other suggestions and closing it at this time.

    If you would like us to reconsider this, please create a new suggestion. Again, thank you for sharing with us!

    Paul Chapman
    Program Manager, Visual Studio

  2. Implement automatic marshalling of COM events to the main UI thread

    I would like to propose that all .NET languages implement a mechanism by which COM events are automatically marshalled to the main UI thread, rather than .NET’s implicitly created worker threads.

    The ability could be exposed by way of an Attribute specifiable on the declaration of an object variable, for example (in VB):

    <System.SyncComEventsAttribute>
    Private WithEvents MyWorksheet As Microsoft.Office.Interop.Excel.Worksheet

    MORE DETAIL

    Consider a Visual Basic Windows Forms project utilizing COM interop. For this example, consider an Excel Worksheet object. Certain Windows Forms Controls need to be updated in response to Worksheet events. However, code written against these events executes on…

    17 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

  3. Add a SIMD matrix class to .NET

    Most of my applications dealing with vectors also have a matrix class.

    Now, RyuJIT CTP2 + NuGet package Microsoft.Bcl.Simd support SIMD versions of Vector3, Vector4 which is great (really). But Matrix3 and Matrix4 are missing!

    I don't expect a full BLAS out of the box, but something like System.Windows.Media.Matrix would do nicely. Especially since the JIT is able to use architecture-optimized algorithms.

    17 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  .NET  ·  Flag idea as inappropriate…  ·  Admin →
  4. Make a constructor in System.String that accepts IEnumerable<char> instead of char[]

    The only way to initialize a string from an IEnumerable<char>, is by converting it to array. This is very verbose, especially when working with Linq.

    For example:
    string GetNumbers(string value)
    {
    return new string(value.Where(c => Char.IsDigit(c)).ToArray());
    }

    There should be a less-verbose way to do it.
    Either (rename Join with whatever you think matches best for the context):

    string GetNumbers(string value)
    {
    return value.Where(c => char.IsDigit(c)).Join();
    }

    Or at least:
    string GetNumbers(string value)
    {
    //string const accepts IEnumerable<char>
    return new string(value.Where(c => Char.IsDigit(c)));
    }

    17 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 →
  5. Create a method called System.IO.Path.IsValidPath

    The System.IO.Path class has GetInvalidFileNameChars and GetInvalidPathChars which I guess are mostly used for validating paths. However simply using these does not garentee a valid path. As such I propose createing an System.IO.Path.IsValidPath(string) method that would return true if the path is valid and false if not.

    17 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 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

  6. Add interface ICloneable<T>

    Add interface ICloneable<T>

    17 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 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. Show upload progress when publishing Click Once

    When publishing a large project from Visual Studio using Click Once. It would be nice to be able to see the progress. All it says right now is "Publishing files...".

    It really should give you a percentage so you know how long you have to wait for the publish to complete.

    16 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

  8. ScheduledToastNotification.Id length restriction is too small

    The ScheduledToastNotification.Id length restriction is 16 characters including the terminating NULL. So that means 15 characters. This makes trying to make a unique id for a notification difficult.

    Guid.ToString() is WAY too long
    DateTime.Now.Ticks.ToString() is 2 chars too long

    16 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. Add SecureString overloads/methods to the ProtectedData class

    To use ProtectedData.Protect to encrypt a SecureString instance, the instance first needs to be converted to a byte array which defeats the purpose of using the SecureString class.

    Please add an overload to Protect that accepts a SecureString instance instead of a byte array. A new Unprotect method will also need to be added that returns a SecureString.

    16 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. Implement Data Tainting in the CLR

    Managed code derives considerable security advantages from having a verifiable memory model, but does not directly address the issue of unsanitised input data. Yet this is the root cause of the most common classes of security vulnerabilities seen today: SQLi and XSS, and is a contributing factor in almost all of them.

    Over 10 years ago, Netscape JavaScript (both browser and server side) supported Data Tainting, wherein all input data was flagged as 'tainted' until explicitly sanitized. Whilst not widely adopted, this enabled runtime checks to be made to ensure potentially dangerous user input was not used in the wrong…

    15 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 →
  11. async associations

    Suppose we have code that uses .net assembly, let's name that .net assembly "FooLib".
    FooLib has classes which methods use synchronous calls for I/O opertations, but we have no FooLib source code, thus we can't modify FooLib classes methods to consume asynchronous API for I/O operations available in .Net Framework.
    I think we need a tool that will provide us opportunity to define associations for certain FooLib class methods which will mean that compiler will modify FooLib class methods and replace theirs I/O operation calls from synchronous to asynchronous, mark theirs methods with async keyword and embrace methods return type…

    15 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 →
  12. Auto-suggest implementations for (interface) parameters.

    API designers are dissuaded from using Interfaces because users cannot benefit from auto-complete for parameters or the `new` keyword.

    This is catastrophe in a runtime that doesn't support implicit interfaces and with a userbase that is drugged out on Intellisense and autocomplete.

    Let us designate recommended implementations with either XML documentation or parameter attributes, so we can use interfaces properly while keeping our API users happy.

    15 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

  13. Realize support for Aspect Oriented Programming. PostSharp is the best candidate for integration.

    AOP is one of the most required things that must be supported by .NET and/or Visual Studio as well.

    15 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

  14. Allow setting a custum AutomationId and AutomationName for Datagrid rows instead of "forcing" values to the ToString() return

    A fully description of the problem is descriped on the link bellow :

    http://social.msdn.microsoft.com/Forums/en-US/vsautotest/thread/30e5e2a0-3d64-4eb2-991f-0498b55762f3

    resumé : Why after I forced a custum AutomationId and AutomationName for each datagrid row, The designer override those values to empty for the Id and set the Name to the ToString() value !!!

    14 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 →
  15. Enhance configSource functionality in .config files

    the configSource attribute is a great feature of .NET, but it has a few drawbacks. It would be nice if you could enhance configSource to make it more useful:

    Allow configSource to "override" an element that contains content. Currently, the framework will throw an error if the element contains content.

    This is helpful when multiple developers are working on a project and they all have their own settings they need to apply to their app/web.config. We can simply have our own file that we do not check into version control that overrides the entry specified.

    If there is a security…

    14 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. In Microsoft SQL server product Improve Table rows Afftected Informations

    MS SQLServer ,To add facility like Table column affected based on Trigger or Application or Manual

    For Example :

    Table affected Categories:

    Manual ---Update the rows value in New query window

    Trigger ---Insert value based on trigger of the Table

    Application --Insert value come from Application . Any framework..

    Table Name is Employee

    Column Names
    ID EmpName Salary Tablevalue affected

    1 Arun 1000 Manual

    2 raja 2000 Trigger

    3 kamal 3000 Application

    4 Guru 300000 Manual

    14 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: facebook google
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 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

  17. Make the async operations of HttpWebRequest really asynchronous

    HttpWebRequest has 2 asynchronous operations:
    - BeginGetRequestStream, and the task-based equivalent GetRequestStreamAsync
    - BeginGetResponse, and the task-based equivalent GetResponseAsync

    Unfortunately, these methods are not really asynchronous:

    > The BeginGetResponse method requires some synchronous setup tasks to complete (DNS resolution,
    > proxy detection, and TCP socket connection, for example) before this method becomes asynchronous.
    > As a result, this method should never be called on a user interface (UI) thread because it might
    > take considerable time (up to several minutes depending on network settings) to> complete the
    > initial synchronous setup tasks before an exception for an error is thrown…

    14 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

  18. Optimize file system operations

    I shouldn't have to pinvoke to get the best out of the local and remote filesystems.

    Here notes of various optimizations .NET could be performing, pooled from various forums.

    /*
    * On Windows 7 / W2K8R2, you can use FindFirstFileEx with FindExInfoBasic,
    * the main speedup being omitting the short file name on NTFS file systems where this is enabled.

    * set the additional flags parameter to 2 (defined in MSDN as FIND_FIRST_EX_LARGE_FETCH) with this setting conditioned on
    * (Win32majorversion >= 6) and (Win32minorversion >= 1), for the time being.

    IShellFolder::EnumObjects is faster but SHGetDataFromIDList does not return as much…

    14 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 PGP, SFTP, IMAP libraries

    The .NET framework has some great and very useful libraries built in, but there are still some useful functions that require either 3rd party libraries or in-house development.

    For example, the System.Net.Mail namespace is great for SMTP, but lacks IMAP and POP3 functionality.

    System.Net.FtpWebRequest works for FTP, but there is no SFTP library that I can find in the framework.

    You can encrypt a file using your windows account, but I don't see any sort of PGP encryption options built in.

    Sure, we can keep buying 3rd party licenses and/or developing in-house, but it would be really nice if these…

    14 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

  20. Support for "dpi aware" bitmaps in WPF

    An article on MSDN (http://msdn.microsoft.com/en-us/library/ms701681.aspx) recommends providing bitmaps in several sizes for each graphic. This is a very good idea, and there should be built-in support for this in WPF.

    Example:

    <Image Source="myBitmap.ico" Width="16" Height="16" />

    Then, depending on the dpi setting, WPF automatically will select that bitmap in the ico file whose size matches best the required pixel size (i.e. 96 dpi -> 16x16 pixels, 120 dpi -> 20x20 pixels etc.).

    This, of course, is only an example of how it could be implemented, there might be better ways.

    14 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