-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
F4 shortcut (Open Type Hierarchy) disappears if LSP4E is installed #644
Comments
It could be installed CDT could somehow break the shortcut. But could you please explain:
|
To put it simply, I started from a new project in a new workspace and the problem remains exactly the same : From a new workspace I created a new Java project (tests) then I created a new class "tests.TestClass". There are some traces in the log file but nothing that explicitly refers to F4 and "Open type hierarchy" : The invocation of the "Open type hierarchy" functionality is still possible by right-clicking with the contextual menu, but calling it via the F4 keyboard shortcut is no longer possible, as has always been the case. ![]() |
The same phenomenon occurs on PC (Windows 11). Before the update the functionality is accessible via F4 and after the update it can only be accessed via the context menu. |
The same on Linux (OpenSUSE-Tumbleweed) |
@shadogray : you also have CDT installed? |
I reproduced the exakt same problem by
|
I see it with the platform.sdk-ide as well. |
Please provide exact steps to reproduce. I've just verified it works with latest I20230711-1800 build. |
I don't know how to know the editor, but it looks like a Java Editor here is a screenshot: Beside that, I have the https://www.eclipse.org/downloads/packages/release/2023-06/r/eclipse-ide-rcp-and-rap-developers installed and see the same problem there. |
Can you please download https://download.eclipse.org/eclipse/downloads/drops4/I20230711-1800/ build manually, extract & start with a fresh workspace? This is what I do and I see no problems with SDK. So I assume either some bundle or Oomph might "steal" the shortcut. If it is Oomph, you might try to clean up all user preferences. For bundles, you can compare difference between "Oomphed" installation and plain SDK and attach the list here. |
Okay here is the minimal steps to reproduce the problem:
Example project: test.zip |
I have the same issue with my Eclipse-SDK provided by Oomph plus full m2e and egit. |
This also happens for my build of Eclipse. Notably, the "show key binding when command is invoked through mouse click/keypress" still reliably displays the action when pressing either F4 or the popup-menu entry. |
Since no one answers to that and I don't observe issue in the plain SDK, this issue is coming as a conflict with some other bundle that is not included in SDK. Since I use egit since ever but never used m2e and I assume most of the "packages" include m2e, can anyone please try with SDK (only SDK please) + m2e? |
I reproduced the problem by:
|
@shadogray : many thanks. Would you please create issue in m2e project providing your steps? |
It would be interesting to know if this issue occures if the M2E LemMinX Editor is not installed? |
To me it seems @HannesWell is right and the issue occurs due to the LemMinX editor. It brings in the LSP4E feature, which defines a conflicting F4 key binding. I use an Oomph-based setup for platform development. In that installation it is as follows:
What could be done to proceed?
|
Can you please enable Window > Preferences > General > Keys > Show key binding when command is invoked > through keyboard, and then report whether some command is at least detected or displayed or not? |
OK, so the command is found but either the handler is not resolved, or the handler does nothing. |
Both are actually different commands but same shortcut (they're expected to have different context, so no real conflict should happen in practice, but maybe this approach has glitches). |
From my understanding, the current behavior is as intended because:
For "textEditors" contexts and its child contexts, this will result in "Show Type Hierarchy" being registered for the F4 shortcut. Since "javaEditors" is a child context of "textEditors", the shortcut is "correctly" bound to "Show Type Hierarchy" when being in some text editor (like the Java source code editor). |
While it can make sense to prefer the shortcut from the most specialized content, it doesn't make sense to automatically unset it if we have heuristic to choose one or the other. Note that additionally to the context criterion (which IIRC is correctly used), the binding resolution also looks at command enablement and other things that are often finely tuned, to prevent from actual conflicts. |
I think the idea is that the more specific binding can override any global one (including doing nothing). |
@mickaelistria any chance this can be investigated? This is really annoying and degrades user experience for completely unrelated to lsp4e editors.... |
After a week, I'm still trying to recover from all the mails that I received during my 2 weeks of holidays. I don't yet have a clear view over my backlog to commit to anything. |
Following the latest update, the F4 shortcut is no longer possible :
![Capture d’écran 2023-06-26 à 09 45 57](https://private-user-images.githubusercontent.com/54896431/248721297-77d40665-4c00-4fa2-ba49-7532e1d4e707.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3NjE1NDYsIm5iZiI6MTcxOTc2MTI0NiwicGF0aCI6Ii81NDg5NjQzMS8yNDg3MjEyOTctNzdkNDA2NjUtNGMwMC00ZmEyLWJhNDktNzUzMmUxZDRlNzA3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDE1MjcyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEyMjE1ZjRjMzk5YTRmMzFmNTI2OGZkYjM3MTgyNzQ5MzI5MTZlNjBkYmUxMzU0ZjhjZDA2N2NjNmJkMDkyNTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ibKvD9K2vuIBE8_jgN9Zz_eK_rnECu4qDaGrD7q3dJ4)
Whereas until now it was like this :
![Capture d’écran 2023-06-26 à 09 46 29](https://private-user-images.githubusercontent.com/54896431/248721896-44c28660-8466-4005-b78f-79d00baf29bd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3NjE1NDYsIm5iZiI6MTcxOTc2MTI0NiwicGF0aCI6Ii81NDg5NjQzMS8yNDg3MjE4OTYtNDRjMjg2NjAtODQ2Ni00MDA1LWI3OGYtNzlkMDBiYWYyOWJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDE1MjcyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMxYjBhNGIyNDFiYmYwYTE0ZDRhNDZjNmVhZTNkMzE3NzEwNTBhYjcwNjE3NzA0MTFhMTE0ZTAyMmFmNWE5ZmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.vs8ROq4WpYqcV9j1lTvBDtvSW6G7uVSQ9yGqHga8-NU)
Shortcut settings remain unchanged :
![Capture d’écran 2023-06-26 à 09 47 26](https://private-user-images.githubusercontent.com/54896431/248722479-8427cee6-ee7b-4d5b-8dfe-e588737165cb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk3NjE1NDYsIm5iZiI6MTcxOTc2MTI0NiwicGF0aCI6Ii81NDg5NjQzMS8yNDg3MjI0NzktODQyN2NlZTYtZWU3Yi00ZDViLThkZmUtZTU4ODczNzE2NWNiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MzAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjMwVDE1MjcyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNlOWU2NTY0YzNlYWY3ODNlZGQxYWFkODIzNmJhYjc3ZGVjZWMyZTdiZmQ5NWZhODE3NWU4YWM2MGU5MDJmZjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qBG8Icgc6TT7Om6dQCbKJFLCNLKsEv4a11ctiLFCyII)
Nothing blocking, just a very comfortable little feature.
My Eclipse configuration on Macos :
Version: 2023-06 (4.28.0)
Build id: 20230608-1333
The text was updated successfully, but these errors were encountered: