Jump to content
Sign in to follow this  
Navid Madani

Delphi 12 Athens Refactoring Broken

Recommended Posts

Is it just me, or is the entire refactoring functionality in 12/Athens broken? 

 

Sync Prototypes does not work, refactor rename just replaces the selected identifier instance, and ignores every other identifier occurrence including those in the visible file, ...

Share this post


Link to post

This is funny (in a dark humor kind of way). I was on a Teams call doing some code work with someone and they were about to use Find And Replace to change the name of a class method.

 

I said, "why not just use refactoring, it will get the method everywhere and not have any false hits."

 

He said "I didn't know I could do that."

 

I proceed to walk him through the simple steps to refactor with the IDE tool.

 

Of course, it failed, only renaming the declaration of the method and leaving everything else the way it was.

 

He said "that would be great if it worked."

 

I said "it worked in previous versions and I used it regularly." We both chalked it up to a new Delphi release and the inevitable regressions that come with it.

 

It's just so sad to take one step forward and one step back with every Delphi release like this. I look forward to things being fixed, and useful new features when they come, only to have the rug pulled out from under me when things that I already use get broken.

 

And of course there is no hope for this to even be fixed since the entire feature set is deprecated.

Share this post


Link to post
37 minutes ago, Uwe Raabe said:

It is deprecated because it is broken beyond repair. Better stop using it.

I think it would be more useful if they were to simply remove features that are broken beyond usability and not meant to be fixed. Don't they realize how these kinds of things cause us to distrust our tools?

  • Like 1

Share this post


Link to post

So, what’s new in Athens boils down to multiline strings at the expense of: 

  - No more refactoring.

  - Range-check errors with bitwise operations.

 

Ranting aside, using GREP and RegEx would work, but would be error-prone. Years ago, before Uwe took over ModelMaker Tools, it wreaked havoc while trying to refactor one of my medium-sized projects. So I did not use its refactoring capabilities again.

 

I am curious what options people are using.

Share this post


Link to post
48 minutes ago, Brandon Staggs said:

I think it would be more useful if they were to simply remove features that are broken beyond usability and not meant to be fixed.

AFAIK, the plan was to make Refactoring opt-in, but it came with other regressions when not installed. So they finally made it opt-out.

 

Anyway. It is commonly known since ages that any 0-release is not made for production. Let's wait for the first hotfix - at least.

Share this post


Link to post
8 minutes ago, Uwe Raabe said:

It is commonly known since ages that any 0-release is not made for production. Let's wait for the first hotfix - at least.

Agree. Unfortunately, version 12's installation made my previous versions unusable.

Share this post


Link to post

Refactoring was broken with 11.x too and was barely working with 10.x. I used it before quite regularly.

 

In VS it just works, pure magic...

Share this post


Link to post
3 hours ago, Gustav Schubert said:

To get rename refactoring back, install the modelling option, as Uwe pointed out in RSP-42936. It worked for me!

Thank you, but mine is a different problem (P.S. modelling was selected during installation). Refactoring options are available, but they do not work.

Share this post


Link to post
21 hours ago, Navid Madani said:

Is it just me, or is the entire refactoring functionality in 12/Athens broken? 

I can only comment on the rename refactoring. My impression is that it works about the same as before. Therefore: not using it is not an option.

 

But, still my point here, just for anyone else who is reading, my own user story: I use Ctrl-Shift-E a lot. And that was my bigggest problem with Delphi 12, because the IDE would disappear within two seconds from pressing Ctrl-Shift-E. It took me days to find out that installing the modelling option was the solution. I can now use rename refactoring as before, with about the same expectation.

 

But back to the topic now, I think the question should have been:

 

Has the (rename) refactoring functionality in Delphi 12/Athens deteriorated, in comparison to 10.1 Berlin?

 

( I don't know, will read about it here... )

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×