Jump to content
Wagner Landgraf

Annoying IDE behavior changes in 10.4.2

Recommended Posts

Posted (edited)

I wonder if someone notice these "minor" but really annoying changes in IDE behavior in 10.4.2. This really decreases productivity significantly when you sum up the small things.

 

 

1. Interface/implementation navigation 

a) When you navigate from method declaration in interface to method implementation, using Ctrl+Shift+Arrow Down, the IDE goes to the implementation, but cursor is now located in the procedure/function declaration, not in the first line of the implementation (after begin). 

Thus, if you want to start coding, you have to press down key several times (especially if you have lots of local variables declared) just to get to the first line of code.

 

b) Also when navigating to implementation, the cursor is now located in the middle of the editor, instead of top. Thus, you only see "half" of the implementation code that would you see if the cursor is located in the top of editor.

 

2. Forward class declaration navigation

When you control-click a forward class declaration like

 

  TMappingExplorer = class;

 

It won't navigate anymore to the actual class declaration.

 

I wonder if you noticed the same and you know workarounds. The only one I found was to disable new LSP but this brings lots of stability issues, besides not having the new LSP features, obviously.

Edited by Wagner Landgraf

Share this post


Link to post
10 minutes ago, Wagner Landgraf said:

When you navigate from method declaration in interface to method implementation, using Ctrl+Shift+Arrow Down, the IDE goes to the implementation, but cursor is now located in the procedure/function declaration, not in the first line of the implementation (after begin).

I cannot confirm that. With Ctrl-Shift-Arrow Down the cursor is located in the first line after begin.

 

14 minutes ago, Wagner Landgraf said:

Also when navigating to implementation, the cursor is now located in the middle of the editor, instead of top. Thus, you only see "half" of the implementation code that would you see if the cursor is located in the top of editor.

I cannot confirm that either. The top line in the editor is the method declaration.

 

16 minutes ago, Wagner Landgraf said:

Forward class declaration navigation

That one I can indeed conform. Please file a bug report for that.

Share this post


Link to post

Weird. How did you test it? Using latest Delphi 10.4.2 Sydney, you can do just this:

 

1. Create a new VCL blank application

 

2. Double click the form to create a FormCreate event handler.

Cursor is located between begin..end lines (line 27)

 

3. Press Ctrl+Shift+Up.

Cursor goes to FormCreate declaration in interface section (line 11)

 

4. Press Ctrl+Shift+Down.

Cursor goes back to FormCreate implementation, but now cursor is in procedure line (line 25), not between begin..end lines

 

You don't see that behavior?

Share this post


Link to post

I followed your steps and the cursor is on line 27, while the editor top line is 25. 

 

Embarcadero® Delphi 10.4 Version 27.0.40680.4203 (with MMX Code Explorer , Project Magician, Selective Debugging and wuppdi Welcome Page)

Share this post


Link to post
Posted (edited)

I can confirm all above issues. The first one is especially annoing thing for me. And the third also.

Edited by balabuev
  • Thanks 1

Share this post


Link to post
Posted (edited)
5 minutes ago, Uwe Raabe said:

I followed your steps and the cursor is on line 27, while the editor top line is 25. 

 

Embarcadero® Delphi 10.4 Version 27.0.40680.4203 (with MMX Code Explorer , Project Magician, Selective Debugging and wuppdi Welcome Page)

Using same exact version: Embarcadero® RAD Studio 10.4 Version 27.0.40680.4203.

No IDE plugins installed, only components.

The fact you can't reproduce is really intriguing, it might mean there is some settings that "fix" this behavior? Or maybe your IDE plugins are affecting it?

Edited by Wagner Landgraf

Share this post


Link to post

for me: using Ctrl+Shift+Arrow Down, cursor located in the procedure/function declaration, not in the first line of the implementation (after begin)
Embarcadero® RAD Studio 10.4 Version 27.0.40680.4203, professional, update 2

Share this post


Link to post
4 minutes ago, Wagner Landgraf said:

But I wonder if there isn't a workaround right now, given @Uwe Raabe doesn't see this behavior.

I've looked for it several days and yet not found anything.

 

@Uwe Raabe may be you switched to Classic Code Insight mode?

  • Like 1

Share this post


Link to post
1 hour ago, Wagner Landgraf said:

1. Interface/implementation navigation 

a) When you navigate from method declaration in interface to method implementation, using Ctrl+Shift+Arrow Down, the IDE goes to the implementation, but cursor is now located in the procedure/function declaration, not in the first line of the implementation (after begin). 

Thus, if you want to start coding, you have to press down key several times (especially if you have lots of local variables declared) just to get to the first line of code.

 

b) Also when navigating to implementation, the cursor is now located in the middle of the editor, instead of top. Thus, you only see "half" of the implementation code that would you see if the cursor is located in the top of editor.

 

 

I can confirm both 1 a) and 1 b).

10.4.2 installed as update over 10.4.1 (uninstall automatically done by installer), keeping settings, did not use Migration Tool.

  • Thanks 1

Share this post


Link to post
Posted (edited)

I can confirm the change as well.  I've also noticed that the Ctrl-Alt-Up and Ctrl-Alt-Down keys don't seem to navigate between methods anymore (although Ctrl-Alt-Mousewheel still seems to do it.)  I was going to suggest it to jump to the first line after begin, but it's gone.  So if you want the old behavior you can do Ctrl-Shift-Up, Ctrl-Shift-Down, and then Ctrl-Alt-Mousewheel up!  Simple, right? (Wink)  

 

Method Hopping:

http://docwiki.embarcadero.com/RADStudio/Sydney/en/Code_Navigation_(IDE_Tutorial)

 

Edited by MarkShark
  • Like 1

Share this post


Link to post

It is indeed MMX Code Explorer which catches the Ctrl-Shift-Up/Down shortcuts and handles them properly. As MMX is one of the first additions installed here, I didn't notice the standard behavior change.

  • Like 2
  • Thanks 2

Share this post


Link to post

I can confirm all as well, went back to Classic,  don't see why I should use LSP.

  • Like 1

Share this post


Link to post
18 hours ago, c0d3r said:

I can confirm all as well, went back to Classic,  don't see why I should use LSP.

LSP is now way better than the previous one. And it looks like Embarcadero is just not touching the old one anymore, so for example I see IDE crashes in some situations with the Classic code insight, and I'm afraid that will never be fixed now.

 

Installing MMX "solves" the issue temporarily, until they hopefully fixes that in 10.5.

  • Like 1

Share this post


Link to post
5 hours ago, Wagner Landgraf said:

I see IDE crashes in some situations with the Classic code insight, and I'm afraid that will never be fixed now.

 

For me, I hope they don't waste their resources on it and remove the classic code insight option in 10.5.  They are taking large swipes at piles of technical debt.  Of course, they are adding to the pile as well.  It certainly seems like more is coming off the pile than is being added.

 

  • Thanks 1

Share this post


Link to post
54 minutes ago, Darian Miller said:

It certainly seems like more is coming off the pile than is being added

Only because the CE  version isn't out yet, those guys still have hope in issues being solved in real time 🙂

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

×