Navid Madani 1 Posted December 15, 2023 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
Uwe Raabe 2057 Posted December 15, 2023 It is deprecated because it is broken beyond repair. Better stop using it. Share this post Link to post
Brandon Staggs 277 Posted December 15, 2023 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
Brandon Staggs 277 Posted December 15, 2023 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? 1 Share this post Link to post
Navid Madani 1 Posted December 15, 2023 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
Uwe Raabe 2057 Posted December 15, 2023 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
Navid Madani 1 Posted December 15, 2023 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
DiGi 14 Posted December 15, 2023 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
Gustav Schubert 25 Posted December 15, 2023 To get rename refactoring back, install the modelling option, as Uwe pointed out in RSP-42936. It worked for me! 1 Share this post Link to post
Navid Madani 1 Posted December 15, 2023 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
Navid Madani 1 Posted December 16, 2023 9 hours ago, Uwe Raabe said: It is deprecated because it is broken beyond repair. Better stop using it. Deprectated? https://docwiki.embarcadero.com/RADStudio/Athens/en/Refactor_Menu https://docwiki.embarcadero.com/RADStudio/Athens/en/Rename_symbol_name_(Delphi) ... Share this post Link to post
Uwe Raabe 2057 Posted December 16, 2023 6 hours ago, Navid Madani said: Deprectated? https://docwiki.embarcadero.com/RADStudio/Athens/en/What's_New#Moving_Deprecated_Features Share this post Link to post
Gustav Schubert 25 Posted December 16, 2023 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