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.
But since then Edit and Continue has fallen behind on times. It doesn't work on 64 bit processes; it doesn't work on methods with iterators or lambdas (and almost all important methods have lambdas these days); it doesn't work on asp.net projects unless you tick a box on each and every project.
I suggest that Edit and Continue is a major feature and should be treated as such:
- Make "Enable Edit and Continue" on by default on web projects.
- Enable edit and continue for lambda or iterator 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.
- Allow edit and continue to add/remove methods or change their signatures, and even add new types.
- Allow edit and continue to change constants.
In short, make the development cycle more streamlined so we don't have to stop/compile/restart our project so often.
Tom Spilman commented
Why was this declined?
Our team avoids lamdas, anonymous methods, and now async/await because of the lack of edit and continue.
<sigh> Just do it. This should be a priority. It's been missing, broken or half broken, depending on your platform or language, since VS2002.
I would like to vote on this, but the item is closed. :(
The original visual basic was a real technology step forward for windows development that cut down development time massively. Dot.Net with all it's integration is great but, and you know what I'm going to say.... it is no where near as easy to develop speedily as good old VB6. This is mainly due to the lack of Edit & Continue support across all features. Hey come on VB6 is way old now we should have something better in every department.
Alex Chirokov commented
Please make E&C work in 64bit and with anonymous methods! This is one of THE MOST essential feature of visual studio.
Major concern for me (c++ developper).
Ask google "visual studio edit and continue 64 bit", 1.900.000 results.
It seems i'm not the only one
I can't understand EnC is not working on X64 in 2011.
I cant make edit and continue work at all in 2011
And PLEASE make it work with Java Script
Finally, VS 2011 Beta supports E&C in methods with Lambda Expressions! You still cannot alter the lambda expression itself, but at least the method surrounding it :-) good work, Microsoft!
Draco Paladine commented
ALL "FEATURE DEVELOPMENT" OF EnC SHOULD BE STOPPED. NOTHING should go forward until c64 native ENC has been put in place!!!! PERIOD!!!!
Draco Paladine commented
I too created an account JUST to up vote this!!!
Edit & Continue is one of the most challenging Visual Studio features to implement and there’s no question that the road to today’s current state has been a very bumpy one.
In addition to its technical challenges Edit & Continue also requires collaboration across several areas:
• The platform (Visual Studio) and framework (.NET/CLR) teams need to offer or be extended to offer additional core debugging functionality.
• The language team needs to then surface this framework functionality in their specific language implementation.
• The debugger team manages the communication between the compilers and the running process and hooks up the experience to the debugger UI.
With this in mind it is easy to see why today’s experience is not as consistent across the platform as we want.
Over the past few years, a few factors have eroded the quality of Edit & Continue:
• Prevalence of 64-bit
• New Language Features in C# & VB
• New Technologies for the Web
Because of these factors, many of have expressed frustration and have given up on a once popular feature. For Visual Studio 11, we have improved the state of Edit & Continue but we realize that there is more work to do.
How we improved Edit and Continue
1. Mirrored existing functionality for VB (since Visual Studio 2008) to allow Edit & Continue for the following constructs for C#:
• Query Expressions
• Anonymous Methods
• Anonymous Types Creation
2. Added better messaging to show you which actions are not supported so you can better predict when Edit & Continue is available.
Unfortunately though you still aren’t able to add, modify, or delete the contents of lambda expressions, query expressions, or anonymous types. Like you, we realize that there is more work needed to be done here to return Edit & Continue to the level you expect. As we continue to work on the specific parts of this, it’s important for you to vote on the active suggestions to improve these experiences.
If you haven’t looked at the Edit & Continue in 2010 yet it is definitely worth a play. You can also download Visual Studio 11 Developer Preview to explore Edit & Continue around Lambdas for C#.
Ciaran O'Donnell commented
as x63 becomes more common I think that should be important. I dont understand the technical reason for it not working for 64bit but hopefully its solvable
Really needed feature. I'm about to forget to use the Edit and Continue, because most of the time I fall in situations that is not possible to use E-C.
I know in lambda scenarious it could lead to strange behaviours, then just show a message saying this (when trying to change code) and give us a "Enable Edit and Continue anyways / I know what I'm doing" button.
I created an account just to upvote this.
Bruce, actually E-and-C in code-behind will cause assembly re-build, thus application restart, so that's pretty complex problem to be solved.
If your project compiles 3-5 minutes, you need to split it into several parts to prevent full re-compilation, and compile only a small dll updated. Do you use web app project or web site?
Bruce Leggett commented
Edit and Continiuation of ASP.NET Code Behind would be a HUGE productivity enhancement. It's very frustrating having to stop Visual Studio to make one minor code behind change, like adding a space to text, then having to wait three to five minutes for it to build and compile the asp.net code.
Daniel Svensson commented
- Lambas prevent edit and continue is a real pain in the ***
- Don't forget Silverlight edit and continue (yes I mean Silverlight and not just WinRT) which currently don't exist at all
"duplicate" for x64 edit and continue here http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2037667-x64-edit-and-continue so the number of voices count should increase by 50%
Jan Rieger commented
Our typical projects have the following properties:
- mixed mode cpp AND c#
- source files lying on a network share
Please make that also in this scenario edit and continue is working