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
-
Add restriction for interface on generic type declarations
Presently, generic types allow restricting what can be used as its type parameter: class, struct or type with public parameterless constructor. What I propose is to add a restriction for interface, like this:
public class MyGenericType<T> where T: interface
1 vote -
Base interface for serializers
At the moment, we have different types of serializers in .NET:
- XmlObjectSerializer-derived (DataContractSerializer, NetDataContractSerializer, DataContractJsonSerializer)
- XmlSerializer
- IFormatter-derived (BinaryFormatter, SoapFormatter)I propose a simple base interface for unifying all these serializers. It only needs two methods:
void Serialize(Stream stream, Object graph);
Object Deserialize(Stream stream);All of the above serializers support these methods.
1 vote -
TimeSpan multiplication
TimeSpan supports some very useful operators, like addition with another TimeSpan or addition with DateTime, so you can do something like
TimeSpan ts1 = …, ts2 = …;
TimeSpan sum = ts1 + ts2;I think it would be very useful, if it also supported multiplication by an integer, so something like this would work too:
TimeSpan sum = ts1 + 2 * ts2;
Currently, one has to use workarounds such as:
TimeSpan sum = ts1 + TimeSpan.FromSeconds(2 * ts2.TotalSeconds);
1 vote -
Allow using different languages more easily
Allow using different languages dynamically.
So in my C# file I could do:
string a = "Space";
string b = "Hello";
using(C)
{
int g = 0, h = 0;
while(a[g++] = b[h++]);
}And a string is copied (or did I make a mistake? :P)
I don't know if this is even possible, but it would allow you to use the old optimization hacks in any language.
Of course any objects created in the using would be inaccessible after the bracket closes.1 vote -
SafeCast for Linq
Imagine
class A{}
class B:A{}You have an IEnumerable<B> (by select), but a method needs IEnumerable<A>. Your only Linq-Option is:
myEnumerable.Cast<A>();
But as you refacture your code and B does not inherit from A any more, you will get an runtime error. The extension method is really simple, but it would be nice to have it in the standard library:
IEnumerable<TBase> SafeCast<TBase,TChild>(this IEnumerable<TChild> enumerable) where TChild:TBase
{
foreach(TChild c in enumerable)
yield return c;
}1 vote -
Provision for Base Page for faster performance and data integrity
Every Project has a Base Page with required consolidated settings. this page when inherited by other pages extends the performance and minimizes code, every page has an option of accessing this page at the very first stage of page cycle and has extensive Exception handling and redirecting to custom error pages at run time would be helpfull for beginners and moderate developers to work on other stuff rather then debugging....
1 vote -
Ease generated code and AOP by Addding Inline Methods
Constructors are a great tool to initialize an object for use. They can get complex and even be overloaded and "inherited". Occasionally there are snippets of code that should always be part of the initialization while this works well using inheritance this does not always work out when generating partial classes.
For instance, all constructors built for Forms children must call InitializeComponent() in their constructors or the form will not work as designed. To avoid creating constructor dependencies a class attribute like [InlineWith("ctor*", "InitializeComponent()"] would tell the compiler to inline any InitializeComponent with every constructor. No more constructor chains!
With…
1 vote -
My idea is to extend the windows clipboard. • Can be keep multiple values in clipboard and those are stored as stack. • Ctrl+V give top most
My idea is to extend the windows clipboard.
• Can be keep multiple values in clipboard and those are stored as stack.
• Ctrl+V give top most values and it will not affect to existing functionality. Then Ctrl+V+1, 2… can be use to navigate to other values in clipboard.
• Right click menu can be extending by adding submenu for past option.
• It this can implement on the windows API, and then it can use for all application that run top of it.1 vote -
Enum.TryParse not only gerneric but also by passing object type
Currently only
Enum.TryParse<TEnum>(String, Boolean, TEnum&)
is available.
But if the enum type is known only at runtime and not design time, this method is of no help and only
try { Enum.Parse(...) } catch {}
can be used, which is not so good for performance.
Please expose a wrapper on the private
Enum.TryParseEnum(Type, String, Boolean, EnumResult&)
which accepts the enum type as a parameter.
1 vote -
Add Task.Complete property returning a completed task
If a method with a return type of Task completes synchronously, I would like to write something like:
return Task.Complete;Now I have to write:
return Task.FromResult(false);
Or maybe Task.FromResult(true) or Task.FromResult(0) or Task.FromResult(42).It doesn't look right to me. Why do I have to return some value wrapped in a Task when the method doesn't return any value? An expression like Task.Complete would make the intent of the return statement more obvious.
With Task.FromResult(), anyone reading the code will wonder what the return value means until he notes that it is just a dummy.1 vote -
DateTimePicker control - enhancements
In the .NET Framework,
System.Windows.Forms namespace,
DateTimePicker control,
does not have implemented properties
BackColor and ForeColor
for the control combo box like all other controls does (labels, text boxes etc.).
Please, if it is reasonably possible, implement these methods for the control combo box.
I believe this can increase visual appeal of the designed forms that uses the control.1 vote -
Bring back the bindingnavigator in WPF
It's a real slow-down when you have to make your own navigator for every datagrid you place on the form.
1 vote -
A method to delete all files from a directory passing a pattern as parameter.
I think it'd be useful to have a method to delete all files from a directory passing a pattern as parameter, so you don't have to build a bucle and delete each one.
1 vote -
Add a "Collected" event to WeakReference class
The idea is to add WeakReference class an event to be signaled when the target object is being collected by GC. This would be useful to to auto clean weak references collections (I'd need this in a custom serialization framework). In my opinion, there's an efficient implementation for this: the GC internally keeps a map<IntPtr, set<WeakReference>>, to be updated in response to add or remove calls of a VIRTUAL event in WeakReference class. The GC itself updates the map if the actual IntPtr is changing for a reference (example when the memory is defragmented). When a object is being collected,…
1 vote -
Add pacing and ramp down setting to conduct better load test in VS 2010 ultimate
We are using VSTS 2010 ultimate for web performance testing and engineering purpose. So for conducting load test and some other trye of performance test.It is better to use if you add below setting.
1. Add pacing properties for webtest to achive target
2. Ramp down setting for uses aftrer competion steady state
3. Constant user load for individual webtest.(% available there)
4. help file for function used in coadded uI1 vote -
Add SQL Server 2012 Native Client Support for System.Data.SqlClient
Currently to ensure you are accessing the SQL Server 2012 Native Client you need to use the OdbcConnection provider. The problem with this is a number of systems are built around using the ADO.NET providers themselves. This leaves us vulnerable to missing out on features like subject alternative name support for SSL encrypted SQL Server connections. Either keep pace with the SQL Server Native Client when it comes to SqlClient or provide a clear set of examples on how to use it.
1 vote -
ability to override a subset of coding rules in fxCop/any other way
I want to use microsoft coding rules. however one of the the guideline in our company requires constants to be in upper case. fxCop is excellent. I could write a custom rule. however, when I ran Microsoft.Naming and this custom rule together, I still get warnings on my constants because I can't override microsoft.naming rule. unfortunately, there's no way as of now to run customrules + subset of microsoft predefined rules. please can you accomodate this. would be very useful
1 vote -
Optimization Edmx
Good afternoon!
During updating of model Edmx it is possible to add choice function "Check of other changes in a database".
By default to expose value in true.1 vote -
Make all releases of the .NET runtime side by side
Some releases of the .NET runtime (e.g. 4.0 to 4.5) upgrade the existing installed version. This causes support issues with having to test all existing web sites and services to ensure they still operate correctly. Side by side releases does not do that.
1 vote -
BindingList should include a RowState Property
BindingList shoud be extened to include a RowState Property.
I'm in the process of upgrading an old Project where I used ADO.NET and databound Controls against a DataTable.
In my new Project I'm using Linq to SQL and a WCF Plain service and got the tip to use a BindingList(Of MyTable) to transport data throgh my Tiers and databind my Controls against that.
It Works Fine but It doesn't track Changes like the RowState on a DataRow.
I got the tip to Create my own ExtendedBindingList that Inherits from BindlingList and add this property.
The Problem is that when I…
1 vote
- Don't see your idea?