>
>>Try programming to an interface in VFP. Try renaming a method in one of your base classes, and watch it lose all the method code you've added to that method in subclasses of that baseclass.
>
>Does it mean that it tracks all the places where it was subclassed and replaces there accordingly? How does it know all those places? Because they're all in the same project? Then how do you share classes among projects?
A .NET solution consists of multiple projects. If the class/interface is only used within the projects in the current solution then it will automatically update all of them. It doesn't track every project where it's being used, it only knows about the current solution. This actually works really well for most things, but it doesn't work in every scenario. For example, you have a class library that you share across multiple solutions then you decide to change a method in it. At that point you'll break your other code.
>
>>Try extracting a code block to a new method and letting the IDE do all the work.
>
>Like you said, I'm calling "so what, no big deal" on that - it takes me two lines in the
Really? Having the editor determine the dependencies in that chunk of code, create a new method, pass in the dependencies as parameters automatically isn't a big deal? I've found it's a huge time saver and a lot less error prone than me doing it myself. Highlight a chunk of code, click a button to extract it to a new method, name that method. Done.
>
>> Try collapsing sections of If/Endif or Case/EndCase in the code editor to make thing easier to review.
>
>I tried and it worked perfectly... in GfA Basic on Atari in the late eighties. It even collapsed procedures. It's a feature I missed ever since. I loved that. Document view window comes close, but I'd love to have some collapsing there as well - just too busy to write my own :).
If the VFP editor exposed more via it's API it might be possible. But I found a lot of the things I wanted to extend in the editor really difficult (impossible?) to do because it doesn't let you hook into enough of the events.