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
-
Allow developers to step through .NET Framework sources
Microsoft currently makes reference sources available for major .NET Framework releases. You can use this source in Visual Studio so that you can step through .NET Framework code, like List<T>. That’s very useful in some situations. Unfortunately, .NET Framework servicing updates and small changes to the .NET Framework (like via: Windows Update) break this experience. Let us know if you use this feature and if you want us to fix it such that you can count on it across the lifetime of a .NET Framework release.
1,111 votes -
Add "?." operator to C#
Add the "?." operator to C# and make it chainable like CoffeeScript so we don't have to write null reference checks for every nested property. An example would be:
myObject?.Items?.[0]?.DoSomething()397 votes -
Cleanup the Solution Explorer context menu
The Solution Explorer context menu is totally ridiculous. We pay lots of attention to the toolbar buttons but people (groups within MS) continue to through everything plus the kitchen sink into the context menu. Let's not put features in your face at the cost of good usability.
1,645 votes -
Silverlight 6
Please do work on Silverlight next version. I feel Silverlight is great tool which has best in cross development web experience. Although you guys are spending time on HTML5 and other stuffs, but I feel it takes years to bring HTML 5 is not flexible enough like Silverlight.
One more thing, as a Silverlight developer it was only my chance to replace flash from my projects, but as you guys stopped working on it; I feel that I wasted my time in learning Silverlight.
Do start working on Silverlight, Only this will get you back in increasing footprints in website…
2,362 votes -
Add Mercurial support to Team Foundation Server
The addition of Git support to TFS is really good news for us DVCS aficionados. However, while many teams are satisfied with it, many others find it a very contentious option due to its fairly steep learning curve, unintuitive behaviour, and at times confusing terminology.
For teams that are making their first steps into distributed version control, Mercurial may be a better option. It would be great if TFS could support both systems.
884 votes -
Add TryRemove(TKey key, out TValue value) to Dictionary<TKey, TValue>
Currently, to "pull" an item out of a Dictionary it is a two step process:
SomeClass value = null;
if (dictionary.TryGetValue(theKey, out value))
{
dictionary.Remove(theKey);
// do something with the item...
}This requires the hash code to be generated twice, which can be costly in high performance scenarios (which is why TryGetValue exists in the first place).
It would be optimal to be able to do:
SomeClass value = null;
if (dictionary.TryRemove(theKey, out value))
{
// do something with the item...
}Implementation would be trivial and provide significant benefit.
50 votes -
Provide a ResourceManager abstraction mechanism
The existing System.Resources.ResourceManager is based on .resx files built into a fallback assembly with multiple satellite assemblies. This model works fine for some situations but it is inappropriate for others. It is relatively easy to create custom resource managers but it is not simple to get an application to use the custom resource manager instead of the ResourceManager.
What is needed is an abstraction from the 'default' ResourceManager - a mechanism by which I can tell my application to use *my* resource manager instead of System.Resources.ResourceManager.
The solution should not be tied to a specific user interface technology. For example…
125 votes -
Bring back Classic Visual Basic, an improved version of VB6
The silent majority of VB6 users did not ask for changes that came with .NET
We request Microsoft brings back classic Visual Basic as COM development is back with Windows 8.
David Platt wrote an excellent article about why classic VB still thrives:
http://msdn.microsoft.com/en-us/magazine/jj133828.aspx1,659 votesHi,
Due to this idea being accidentally declined, we are reverting back to its original status.
We apologize for any inconvenience.
Thank you!
Meredith Magnusson
Visual Studio PM -
Make Code Review available to Professional users
Code reviews currently can only be requested and viewed by VS Premium and Ultimate users. I fail to see why this feature is not available to anyone using TFS, regardless of Visual Studio version. If peer code review is required, then all members of the team must do it. However, in our company, we only get Premium MSDN licenses for developers that need it. Not everyone needs all the bells and whistles that come with Premium. And I don't think its worth the extra $5,000, per developer, to upgrade to Premium just to do code review. We would love to…
258 votes -
Provide formatting and colorisation for a JSON file type
There is a good use case for storing information in ".json" files because it is more concise than XML.
At present Visual Studio does not provide any formatting for files with the json extension.
Please add formatting and colorisation of the content for these file types.
26 votes -
Edit & Continue: Allow the modification of lambda's and anonymous methods
This has been split from https://visualstudio.uservoice.com/admin/forums/121579-visual-studio/suggestions/2035769-make-edit-and-continue-work-more-globally.
Edit and Continue has always been a staple of Visual Studio development; it's one of the most important features that make it better than other IDEs. In 2002, Visual Studio .Net came out, and didn't have Edit and Continue, which made it very hard to use. In 2003, the new version had Edit and Continue and I was jubilant.
Enable edit and continue for lambda changes; that might mean that you even have to allow edit and continue to add new methods, but that should be possible using light-weight code generation.
(Filed on…
31 votes -
TFService + git - Pull requests
Visual Studio's current Code Review feature works only from within Visual Studio: https://tfs.visualstudio.com/en-us/learn/code/get-your-code-reviewed-vs
When using TFService with git, we need something similar to Pull Requests, as a means for performing code reviews, as github.com and bitbucket.org offer:
https://help.github.com/articles/using-pull-requests
https://confluence.atlassian.com/display/BITBUCKET/Working+with+pull+requests
81 votes -
Git Provider should *not* add new files to index automatically
The new Git source control provider in VS2012 U2 works quite nicely, but it keeps adding new files to the git index automatically. This messes with my git workflow so much I actually had to disable the provider. The behavior also seems quite arbitrary, i.e. it doesn't make sense to me why anyone would want to add a new file to the git index right when it was created. Please make the Git provider not touch git and the git index ever, unless the user requests it to do so (the provider is actually quite good in this regard already,…
79 votes -
Enable HLSL, DirectX and graphics development toolset for the C# language.
Visual Studio only provides hlsl compilation tools for C++ projects, while C# projects which also use hlsl are left without this facility. This is a glaring inconsistency in the tools provided to each language. C# is meant to be a first-class language yet the DirectX tools which are built in to Visual Studio are not equally provided to C#, this is an unnecessary and arbitrary limitation.
Developing DirectX applications with C# is becoming easier and there are now more tools than ever to work with this combination of technologies, including SlimDX and SharpDX, both fully capable managed DirectX frameworks (wrappers).…
284 votes -
Switch to Clang
Why?
Because it compiles code faster on large code bases.
Because it is more C++11 compliant.
Because it will be updated with fixes in a timely manner.
Because it will require less of your maintenance.
Because you can contribute back to it to make it even better.
Because you can build tools out of it like Intellisense, static analysis, etc.
Because MSFT can focus on Visual Studio UI and other elements that make it a nice IDE.
Because this is what C++ developers would prefer (non-biased opinion here :P ).
Because code portability is important in this platform diverse world.…
29 votes -
Make existing Visual Studio visual designer and extensible enough to be available for other programming language such as F# as well
I don't know how to write this suggestions clearer than the current title. I'll try to explain the background of this suggestions
This is the current situations in VS 2012:
1. F# has included as one of first class language since VS 2010
2. F# user base has grown larger than before, thanks to #1, Microsoft! But unfortunately? (read next)
3. Can't create ASP.NET project template using F# other than C# or VB.
4. Can't create WPF (hence Silverlight) project visually using F# (again, other than using C# or VB)
5. Can't create visual Windows Store app using F#, just…29 votes -
When in the "Find Changesets" dialog in "Source Control Explorer", it would be nice to have an option to rollback the changeset
When in the "Find Changesets" dialog in "Source Control Explorer", it would be nice to have an option to rollback the changeset that was found/searched for. Currently, you have to view history on the solution/folder/file to select the changeset and roll it back.
30 votes -
Add ToQueue<T> and ToHashSet<T> extension methods on IEnumerable<T>
IEnumerable<T> has the ToList<T> extension method, and it would be very useful to have equivalent ToQueue<T> and ToHashSet<T> methods. Although Queue<T> and HashSet<T> have constructors that take an IEnumerable<T>, they cannot be used when T is an anonymous type. For example this is an error:
var q = new Queue(Enumerable.Range(1, 3).Select(i => new { Prop = 7 }));
But the equivalent using ToQueue works fine. It is fairly easy to define your own extension methods along the lines of:
public static HashSet<T> ToHashSet<T>(this IEnumerable<T> collection)
{
return new HashSet<T>(collection);
}But the use case is very common, so they seem…
16 votes -
silverlight compile to html5 or Have XAML run in browser without plugin
have Silverlight compile to html5 or Have XAML run in browser without plugin.
59 votes -
Allow use of DataTestMethod / DataRow in all unit testing projects
As I understand it these attributes are limited to use in WinRT/Metro and now with update 2, Windows Phone 8. It would be very helpful to be able to use them in all test projects e.g.
[DataTestMethod]
[DataRow("a", "b")]
[DataRow(" ", "a")]
public void TestMathos1(string value1, string value2)
{
Assert.AreEqual(value1 + value2, string.Concat(value1, value2));
}55 votes
- Don't see your idea?