Jump to content
PeterPanettone

Search Declaration now works flawlessly in 10.4

Recommended Posts

Until Delphi 10.3, Search Declaration (e.g. CTRL-click on an identifier) in many cases did not work at all. Now it seems to work flawlessly.  - Good work, Embarcadero!

  • Like 3
  • Thanks 1

Share this post


Link to post

Nope, not true. It completely fails when the identifier or type in is in another (referenced) project in the same project group. Makes working on a large project quite painful.

  • Like 1

Share this post


Link to post
Posted (edited)
4 hours ago, Vincent Parrett said:

It completely fails

Have you already filed a REPRODUCIBLE Quality Report, so we can vote for it?

Edited by PeterPanettone

Share this post


Link to post
1 hour ago, Vincent Parrett said:

You wrote there:

 

"Ctrl+click on a unit name (from another package) in the uses clause of a unit."

 

Try this: Place the caret on that unit name in the uses clause and then press CTRL+RETURN/ENTER. This should open that unit in the Code Editor.

 

Does this solve your problem?

Share this post


Link to post

I've already been over this with embarcadero people privately (look at the date, here's a clue, it's before the release date) and provided lsp logs etc. 

 

Ctrl+enter opens the file open dialog. So does right clicking and selecting Open file at cursor.

 

So for me, 10.4 has completely broken code navigation... which makes it painfully slow to work in.  

 

To reproduce, create a project group with a package project, and an exe (that uses runtime packages) and references the package project. In a unit in the exe, add a unit from the package in your uses clause, then try ctr+click. My project as 100+ packages and a few exe projects.. it's not easy to work on with broken navigation. 

 

Share this post


Link to post
1 hour ago, Vincent Parrett said:

broken navigation

I wonder whether any IDE plugin would be able to replace and add NAVIGATION features in the IDE at the Tools API level.

Share this post


Link to post
1 hour ago, Vincent Parrett said:

So for me, 10.4 has completely broken code navigation..

Does this apply generally to the Search-For-Declaration feature or only in this special case with that project-group?

Share this post


Link to post
3 hours ago, PeterPanettone said:

I wonder whether any IDE plugin would be able to replace and add NAVIGATION features in the IDE at the Tools API level.

Yes it could, but it would need to parse all the code.. which would reintroduce the overhead that the LSP is supposed to remove (high memory usage). Writing a complete, fast, memory efficient parser for the purposes of navigation is no trivial task.

Share this post


Link to post
3 hours ago, PeterPanettone said:

Does this apply generally to the Search-For-Declaration feature or only in this special case with that project-group?

It works most of the time inside a single unit or even a single project. I wouldn't call a project group a special case though, anyone who works on a non trivial project would be using them. 

Share this post


Link to post
5 minutes ago, Vincent Parrett said:

Yes it could, but it would need to parse all the code.. which would reintroduce the overhead that the LSP is supposed to remove (high memory usage).

I see it is a zero-sum game. In fact, Code Navigation using different abstraction levels could be much improved in Delphi.

Share this post


Link to post
1 minute ago, PeterPanettone said:

In fact, Code Navigation using different abstraction levels could be much improved in Delphi.

There's no doubt about that. I use VS a lot, and with CodeRush installed and navigating code is leaps and bounds ahead of delphi. 

Share this post


Link to post
11 minutes ago, Vincent Parrett said:

CodeRush installed and navigating code is leaps and bounds ahead of delphi.

I would love CodeRush for Delphi.

Share this post


Link to post

CodeRush is leaps and bounds behind Resharper.  Rider is the pinnacle of how an IDE should be.  Hopefully Delphi's IDE will be on that direction now that the plumbing is in place (LSP, automatic IDE updater).

 

 

  • Like 1

Share this post


Link to post
6 hours ago, Esteban Pacheco said:

CodeRush is leaps and bounds behind Resharper. 

Unfortunately Resharper is a resource hog, and really slows down the IDE. 

6 hours ago, Esteban Pacheco said:

Rider is the pinnacle of how an IDE should be.

I have not used Rider, but have used some of their other IDE's and found them quite strange to work in. 

 

6 hours ago, Esteban Pacheco said:

Hopefully Delphi's IDE will be on that direction now that the plumbing is in place (LSP, automatic IDE updater).

We live in hope!

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

×