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
-
properly support and allow to use StackOverflowException
Please throw the StackOverflowException when the stack contains StackMaxSize - 100 (or 256 for that matter) entries which allows normal handling of the exception.
Imagine a user interface to define group-in-group memberships. Without considerable effort by the programmer it is easily possible to add a parent group indirectly as a child group which leads to an infinite loop.
When I now can make make a method GetMembers(aGroup, recursive), call it after every change from within a try/catch that catches the StackOverflowException then I can provide feedback to the user, undo his last change and everything is handled proberly and without…
1 vote -
Chart axis numeric type property
Would it be possible to expand the Chart properties to allow the number format for the axis to be set as Integer/Decimal etc?
Even if IntervalType is set to IntervalType.Number, when the numbers are small integers (from a DataTable source) we still see decimal-placed numbers in the axis. This appears to conflict with the underlying DataTable.Column.DataType.
An example I found to illustrate this is here:
http://stackoverflow.com/questions/4069414/visual-studio-2010-chart-control-make-y-axis-an-integer-value-not-decimal1 vote -
Include in their next release of the Silverlight runtime, the ability to retrieve Microsoft Intermediate Language (IL )offsets
We request Microsoft include in their next release of the Silverlight runtime, the ability to retrieve Microsoft Intermediate Language (IL )offsets via System.Diagnostics.StackFrame.GetILOffset. We produce a product written in Silverlight in a growing number of installed sites. In the field we have experienced exceptions that we cannot reproduce in our development or test environments. They are intermittent problems, nevertheless, our customer’s opinion of our software takes a hit whenever these exceptions occur and our ability to use customers as a reference for further sales is jeopardized. We must fix these problems.
To fix these problems we need to know the…
1 vote -
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 -
Enable "using"s to be declared at the narrowest possible scope
Like you wouldn't declare your vars at the top of your class' or method's body (anymore, bye bye, "C") but at the narrowest possible scope, the same should be possible with "using <namespace>" (in C#, other keywords apply to other languages).
Not only would this feature solve some common problems regarding identical class names in different namespaces, but would it also bring the supposed namespace closer to a reference to it. Think of a class that deals with XML serialization from line 300 on. Still the neccessary "using" declarations would be around line 15 or such, without the 285 lines…
1 vote -
1 vote
-
Compile-time-checked casts
Accessing a member of an explicitly implemented interface usually requires for the object to be cast to that interface.
If an additional local variable is used it’s possible to make it type-safe:C c;
I i = c; // implicit cast
i.SomeMethod();But without the local variable it becomes type-unsafe. The following compiles no matter if C implements I or not.
C c;
((I)c).SomeMethod();I’d find it useful if there was some kind of compile-time-checked cast.
Possible syntax:
C c;
((checked I)c).SomeMethod();
((I!)c).SomeMethod();interface I
{
void SomeMethod();
}class C : I
{
void I.SomeMethod() { }
}1 vote -
Implement some feature to get information about the exceptions an invoked method or accessed property can throw
Java has the cool feature that code invoking a method that could throw exceptions must either catch all potentially thrown exceptions or explicitly rethrow them. I miss a feature like that in .NET. It's a real pain to investigate which exceptions a method (or property) can throw. I do this obviously using the documentation, but this is unfortunately largely incomplete in case of exceptions, especially when exceptions could be thrown in base classes. At the end of the day we often end in catching the general Exception, but this is bad, even according to the Microsoft quality rules (FxCop).
It…1 vote -
Allow more extensibility in the Bundling & Minification framework
I've found several limitations within the Bundling & Minification framework in .NET 4.5, and though I've managed (with the help of Reflector due to the lack of documentation for the System.Web.Optimization assembly) to derive my own bundles and transforms, the most recent limitation is the lack of options surroundong the media attribute in CSS <link /> tags. There's no way of setting this, nor does such an attribute get written.
This makes it impossible to provide one bundle for the screen and another bundle for print, which I thought was pretty standard on large-scale modern websites.
It's difficult to derive…
1 vote -
Improve use of interfaces as TypeName for ObjectDataSource
I have a basic ObjectRepository pattern as follows:
public interface IRepository<T> where T : Entity
{
T Create(T entity);
IEnumerable<T> Find(Expression<Func<T, bool>> expression);
IEnumerable<T> GetAll();
...
}It would be great to be able to use derived interfaces like the following:
public interface IFooRepository : IRepository<Foo>
{
// non-parameterized type for use with ObjectDataSource
}with ObjectDataSource. At present, it is only possible to use the actual implementing class (e.g. FooRepositoryImpl) as the TypeName, since ObjectDataSource won't find the methods defined in IRepository<Foo> if the TypeName is set to IFooRepository. Directly specifying IRepository<Foo> as the TypeName is equally undesirable since…
1 vote -
Add FileName to FileNotFoundException in Windows.Storage
Using GetFolderAsync(BaseContentFolderName) on a StorageFolder results in a FileNotFoundException.
Either improve the exception so that more information can be gathered from it (if there are multiple folder retrievals within the single Try block, there is no way to distinguish which call threw the error) or add a FolderNotFoundException (again, with info as to which call threw the error).
Note, this is also an issue for GetFileAsyc.
1 vote -
1 vote
-
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 -
Add complete support for rich desktop applications (in-place activation, OLE etc.)
Please support rich applications in .NET. What about OLE technology, in-place activation (like the equation editor in older versions of WORD)? I miss also a commitment to a new data format to exchange visual information between programs. WMF/EMF is not supported by WPF anymore, and there is no prospect of another vector format.
1 vote -
1 vote
-
Add option for AggressiveInlining in same assembly only
.NET 4.5 adds AggressiveInlining but it would be much more useful if one could limit AggressiveInlining to be bound to same assembly only.
This is especially useful for general purposed libraries (including .NET Framework) where same public method is used internally and exposed to the consumers.
1 vote -
Specifically make WMV encoding a part of Media namespace
I would like to encourage your developement staff to think of specifically making WMV encoding a part of Media namespace. It would improve VisualStudio.NET ! ... WMV would also gain more ground against competing video formats.
Consider the following:
Imports System.Media
Improts System.Media.VideoIO
Imports System.Media.VideoIO.WMVEncoderIf you made VisualStudio.NET with WMVEncoder that will also crop video that is already in .avi, .asf, or .wmv format, the utilization would increase the popularity of VisualStudio.NET and WMV.
I still use VisualStudio 2008 and Vista Business (though it is now year 2013); still works great!Microsoft making a WMVEncoding dll to import -…
1 vote -
New .net schema.
Microsoft really needs to come up with a .net installation scheme that rolls up all previous versions (1 through 4) and updates into a single package that can be updated as needed.
1 vote -
add type inference for fields
example:
class Foo
{
private var customers = new List<Customer>();
...
}1 vote -
Allow void tags in Razor
In Razor, if you include a void tag (one that does not need to be closed) without the trailing slash, the Razor syntax fails. For example:
@if (true)
{
<br>
}The parser fails, probably because it thinks that the br tag is still open, so it considers the close brace part of HTML, not part of Razor.
But since br is a void tag, it does not need to be closed, and Razor should recognize this.
1 vote
- Don't see your idea?