From a discussion with @bterlson:
I would prefer the extracted method to go below the function I’m currently editing rather than at the bottom (potentially thousands of lines away from my current position). Refactoring to on screen if at all possible seems better in all cases as it’s easier to move to the end if you want it there when you see where the new function drops in.
I think we should just put it bellow the current function. when do you want it that far away? and even if you do, chances are there is not a configuration that makes sense.
If you're going through the function top-to-bottom, it can be a little weird.
@DanielRosenwasser I agree with that. I guess the ideal design here is something like the following:
function A () {
// refactor target 1
// refactor target 2
}
// start refactor region for function A
// refactor target 1 goes here
// refactor target 2 goes here
// end refactor region for function A
function B () {
}
Basically, define a region after each function and pack it top-down.
Barring something like above, though, my feeling is that the after-function approach is going to be the better choice than the bottom of the file most of the time.
I would agree with "below the current function" (in other words, the highest syntactic position that is in the correct scope but still after the extracted span). I was testing so much in small files I didn't even notice this wasn't the behavior.
I'm going to have to figure out something cleverer than the current implementation for locals anyway, so this will probably happen sooner rather than later.
this is slightly tangential, but I would really like the location for generated properties to be configurable. Currently they get placed at the top of the containing class, above the constructor. I very much prefer to have the constructor come first, especially when using a framework that relies on decorators to do dependency injection such as Aurelia, or Angular. It's probably just a stylistic thing in, but I feel it makes maintenance easier.
It's still not configurable, but it should be much better than it was. Adding Awaiting More Feedback for configurability.
I'm not aware of additional feedback on this issue.