redhat-developer / redhat-developer/vscode-java

Classes often won't show up when typing, but complete just fine in an import statement.

オープン
#3,679 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

upstream
主要言語
TypeScript
スター
2.3k
フォーク
546
平均マージ
20時間 1分
マージ済み PR(30日)
11

説明

Had already used import org.springframework.security.test.context.support.WithMockUser; without issue.
Tried adding @WithSecurityContext to same class.

As I was typing, only 4 With* classes showed up (there are 6), and not the one I needed.

I go up to the imports, duplicate the WithMockUser line, delete "MockUser", hit Ctrl+Space, and all 6 With* classes show up! Why does it work here, but not at the class annotation?

I expect these would always show up.

I expect that after typing the full proper class name, that Ctrl+. would find the class and offer to import it.

If I type "@With", hit Ctrl+Space to bring up completion (still just shows the 4), continue with "Se", the suggestions are logical, but once I hit "c" I would expect the suggestions to go away, as there are no more logical ones. However, it stays up - no matter how much I hit Ctrl+Space to update it. (It appears like me activating it with my earlier Ctrl+Space has now prevented it from closing, even when the data is completed outdated, until you click away or hit Esc.)

Having a single minor issue preventing virtually all completion from working is already annoying enough, can't we have at least 1 thing that's nice?

Environment
  • Operating System: Windows 10 + WSL 2 Ubuntu
  • JDK version: WSL 2 Ubuntu openjdk-21
  • Visual Studio Code version: 1.90.2
  • Java extension version: 1.31.0
  • Spring Initializer project init'd a few days ago - current.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

報告された Windows 10/WSL 2 Ubuntu 環境で、VS Code 1.90.2、Java extension 1.31.0、JDK 21 を使用し、報告にある Spring Security の例で補完の動作を再現する。Java 補完のエントリーポイントを追跡し、アノテーション補完と import 補完を比較する。入力した名前が一致しなくなったときに、一致するクラスが一貫して表示され、古い候補が閉じるか更新されれば完了とする。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, typescript, vscode
領域
developer-experience, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。