redhat-developer / vscode-java

Java Language Support for Visual Studio Code
Eclipse Public License 2.0
2.08k stars 440 forks source link

Java Extension no longer highlights all occurrences of the word under the cursor in Java files #3787

Closed vitalyla closed 3 weeks ago

vitalyla commented 1 month ago

After recent update of VS Code and Java Language Support extension(s), the highlight of the elements under cursor no longer working (please see snapshots below).

Environment
Steps To Reproduce
  1. Open any Java source file.
  2. Put the cursor on any variable (field, parameter).
Current Result

image

Expected Result

image

snjeza commented 1 month ago

I can't reproduce the issue on Linux or Windows. @vitalyla could you attach a project example reproducing the issue?

Obscure2020 commented 1 month ago

I can reproduce the issue on Windows. Tell me, does this issue go away if you revert to version 1.34.0 of the extension? (In the extensions menu, click the gear icon on the extension and select Install Specific Version...)

vitalyla commented 1 month ago

Hi @Obscure2020 , @snjeza ,

I will try with version 1.34.0. and update.

Meanwhile, I just updated to version 1.35.1 of the extension and the issue persists. Also, when I double-click the element the "yellow" marks on the minimap, showing all occurrences, no longer available as well.

Thanks Vitaly L.

vitalyla commented 1 month ago

Hi @Obscure2020 , @snjeza ,

I tested with 1.34.0 and 1.32.0 and the issue is the same. However, I noticed something interesting that can hint to the root cause.

Steps:

  1. keep cursor on a curtain field or method parameter
  2. close (Cmd+Q) VScode
  3. open VScode, cursor remembers last position, the highlight is working. But, as soon as I change cursor's position the issues reproduced.

Thanks Vitaly L.

simogab98 commented 1 month ago

I had same problem. Disabling all Spring Boot extensions solved the issue.

vitalyla commented 1 month ago

Hi,

Any update on the issue? The current behavior noticeably reduces the work experience with Java projects, especially long and legacy ones.

Thanks Vitaly L.

ashbostock commented 1 month ago

Can confirm that it seems the Spring Boot extensions are conflicting somehow, as @simogab98 said disabling these allows it to work again

vitalyla commented 1 month ago

Yes, verified the same as well, however, disabling Spring Boot extension is not the solution. It shows possible root cause but requires to be taken forward to understand where is a clash between two extensions. Both of them are needed for efficient and productive work on Java Spring (Boot)-based projects.

Vitaly

snjeza commented 1 month ago

@vitalyla you can try to add

"boot-java.embedded-syntax-highlighting": false,

to your settings.json and restart VS Code

marcelopbarros commented 1 month ago

@vitalyla you can try to add

"boot-java.embedded-syntax-highlighting": false,

to your settings.json and restart VS Code

I tried changing that setting, but it had no effect on the issue.

marcelopbarros commented 1 month ago

I can reproduce the issue on Windows. Tell me, does this issue go away if you revert to version 1.34.0 of the extension? (In the extensions menu, click the gear icon on the extension and select Install Specific Version...)

@Obscure2020 I tried:

All versions presented the same problem.

marcelopbarros commented 1 month ago

I'm also using MacOS, Sonoma 14.6.1.

It seems like the only thing that works as a workaround is freezing Spring Boot Dashboard to version v0.13.1.

fbricon commented 1 month ago

@martinlippert does that ring a bell?

marcelopbarros commented 1 month ago

I'm also using MacOS, Sonoma 14.6.1.

It seems like the only thing that works as a workaround is freezing Spring Boot Dashboard to version v0.13.1.

I think my test was not accurate, sorry for that. As @vitalyla pointed, highlight seems to work for a few seconds after restart VSCode. I realize downgrade doesn't seem to really solve the problem.

3. open VScode, cursor remembers last position, the highlight is working. But, as soon as I change cursor's position the issues reproduced.

I was also using VSCode 1.93.1, exactly the same as @vitalyla, but I tried a newer version (1.94.1) with no success.

For now, it seems the only way to work is disabling Spring Boot Tools.

martinlippert commented 1 month ago

This seems to be a similar issue: https://github.com/redhat-developer/vscode-java/issues/3789 Looking into this.

martinlippert commented 1 month ago

I can reproduce this with the Spring Boot Tools extension being active. As soon as I disable that extension, the highlighting works again nicely. This seems to be unrelated to the Spring Boot Dashboard extension.

(there might be some confusion coming up because the dashboard extension depends on the Spring Boot Tools extension and is therefore automatically disabled as well when you disable the Spring Boot Tools extension)

I filed https://github.com/spring-projects/sts4/issues/1380 to track work on this in the Spring Tools extension. Sorry for causing this issue.

martinlippert commented 1 month ago

I pushed a fix for this to the Spring Tools, now waiting for CI builds to ship this to you as a pre-release... Stay tuned...

martinlippert commented 1 month ago

The latest pre-release of the Spring Boot Tools extension got published if you want to give it a try.

Switch to the latest pre-release from within your VSCode installation works by looking up the Spring Boot Tools in the list of installed extensions and then "Switch to Pre-Release Version".

vitalyla commented 1 month ago

Hi @martinlippert ,

Thanks a lot! I just tried pre-release of the SB Tools and syntax highlighting works flawlessly. Looking forward to official release of the SB Tools, for now staying with pre-release.

fbricon commented 1 month ago

thanks @martinlippert!

vitalyla commented 3 weeks ago

Hi,

I installed the recent release version of SBT extension, Spring Boot Tools v1.58.0, and highlighting in Java files works as before.

Thanks everyone for the help and timely resolution.

Vitaly