web-dev-qa-db-ja.com

補完が利用できない、奇妙なEclipseの動作

私は提案されたすべての解決策を試したと思いますが、このEclipseのオートコンプリートの問題は非常に特殊です。

  1. 私はEclipseを起動しますが、コンテンツアシストは正常に機能します。
  2. SwingプロジェクトでLineBorderを作成したい。
  3. 私はタイプする LineBorder panelBorder = new LiとCtrl + Spaceを押します。
  4. ポップアップは表示されず、ステータスバーに赤い「完了できません」と表示されます。
  5. 2秒前にコンテンツアシストが正常に機能した要素でCtrl + Spaceを試してみましたが、機能しなくなりました。
  6. LineBorderコンストラクターを使用する前に、クリーンアップしてコンテンツアシストが正常に機能した後、同じプロジェクトで他のプロジェクトで同じことを試しましたが、クラッシュします。

私が試したこと:

  1. 「プリファレンス」->「Java」->「エディタ」->「コンテンツアシスト」->「詳細」でデフォルトにリセットします。
  2. 同じメニューのすべてのチェックボックスをオンにします。
  3. 新しいワークスペースを作成して、そこで試してください。
  4. .metadata/.plugins/org.Eclipse.jdt.coreにある.indexファイルと「savedIndexNames.txt」を削除します。
  5. 重複するライブラリを確認します。

私が試していないのは、Eclipseを再インストールすることです。私が使用しているバージョンはEclipse IDE for Java Developers(Juno)です。

何も動作しないようです。

更新:

iGili の提案に従ってログを確認しました。失敗時に発生するいくつかの例外があります。

org.Eclipse.e4.core.di.InjectionException: org.Eclipse.core.commands.ExecutionException: While executing the action, an exception occurred
Caused by: org.Eclipse.core.commands.ExecutionException: While executing the action, an exception occurred
Caused by: Java.lang.ArrayIndexOutOfBoundsException: 1
    at org.Eclipse.jdt.internal.codeassist.InternalCompletionProposal.findConstructorParameterNames(InternalCompletionProposal.Java:257)
    at org.Eclipse.jdt.internal.codeassist.InternalCompletionProposal.findParameterNames(InternalCompletionProposal.Java:1456)
    at org.Eclipse.jdt.ui.text.Java.CompletionProposalLabelProvider.appendUnboundedParameterList(CompletionProposalLabelProvider.Java:113)
    at org.Eclipse.jdt.ui.text.Java.CompletionProposalLabelProvider.createMethodProposalLabel(CompletionProposalLabelProvider.Java:272)
    at org.Eclipse.jdt.ui.text.Java.CompletionProposalLabelProvider.createStyledLabel(CompletionProposalLabelProvider.Java:570)
    at org.Eclipse.jdt.internal.ui.text.Java.LazyJavaCompletionProposal.computeDisplayString(LazyJavaCompletionProposal.Java:262)
    at org.Eclipse.jdt.internal.ui.text.Java.LazyJavaCompletionProposal.getStyledDisplayString(LazyJavaCompletionProposal.Java:238)
    at org.Eclipse.jface.text.contentassist.CompletionProposalPopup.handleSetData(CompletionProposalPopup.Java:841)
    at org.Eclipse.jface.text.contentassist.CompletionProposalPopup.access$24(CompletionProposalPopup.Java:831)
    at org.Eclipse.jface.text.contentassist.CompletionProposalPopup$3.handleEvent(CompletionProposalPopup.Java:593)
    at org.Eclipse.swt.widgets.EventTable.sendEvent(EventTable.Java:84)
    at org.Eclipse.swt.widgets.Widget.sendEvent(Widget.Java:1053)
    at org.Eclipse.swt.widgets.Widget.sendEvent(Widget.Java:1077)
    at org.Eclipse.swt.widgets.Widget.sendEvent(Widget.Java:1062)
    at org.Eclipse.swt.widgets.Table.checkData(Table.Java:1166)
    at org.Eclipse.swt.widgets.Table.wmNotifyChild(Table.Java:6749)
    at org.Eclipse.swt.widgets.Control.wmNotify(Control.Java:5534)
    at org.Eclipse.swt.widgets.Composite.wmNotify(Composite.Java:1896)
    at org.Eclipse.swt.widgets.Control.WM_NOTIFY(Control.Java:5086)
    at org.Eclipse.swt.widgets.Control.windowProc(Control.Java:4584)
    at org.Eclipse.swt.widgets.Canvas.windowProc(Canvas.Java:341)
    at org.Eclipse.swt.widgets.Decorations.windowProc(Decorations.Java:1627)
    at org.Eclipse.swt.widgets.Shell.windowProc(Shell.Java:2069)
    at org.Eclipse.swt.widgets.Display.windowProc(Display.Java:4989)
    at org.Eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
    at org.Eclipse.swt.internal.win32.OS.CallWindowProc(OS.Java:2440)
    at org.Eclipse.swt.widgets.Table.callWindowProc(Table.Java:564)
    at org.Eclipse.swt.widgets.Table.callWindowProc(Table.Java:430)
    at org.Eclipse.swt.widgets.Control.windowProc(Control.Java:4623)

それが続く、私は長いスタックトレースを投稿するための慣習が何であるかわかりません

26
Limbo Exile

私も同じでした。 Windows->設定-> Java->エディタ->コンテンツアシスト->詳細。デフォルトのコンテンツアシストリスト(ポップアップの最初のパネル)で[Javaプロポーザル]チェックボックスがオンになっていることを確認してください。

下部の「デフォルトに戻す」ボタンをクリックすると、「Javaプロポーザル」が自動的にチェックされます。

72
Benoit Alvarez

Advanced Content Assist設定ページに戻り、デフォルトに戻します。 OKボタンを使用してダイアログを閉じます。

4
nitind

私も同じ問題を抱えていました。実際、私はコンテンツアシストポップアップを表示しましたが、それは数ピクセルよりも小さかったです(これを縮小したのは誰で、なぜ縮小されたのかはまったくわかりません...) 「Rp」ですが、通常はコンテンツアシストが表示される場所にあるので、それを展開してみてください。元に戻すことができます。幸運を。

2
Sanyifejű

Windows-> Preferences-> Java-> Editor-> Content Assist-> Advanced(Java Proposals)を選択する必要があります。

1
Gopal

Javaプロポーザルがチェックされ、デフォルトを復元しても何も起こりませんでした。Eclipseを再起動した後にのみ機能し始めました。

1
Oleksiy

私にとってうまくいったのは、新しいワークスペースを作成し、すべてのプロジェクトをそのワークスペースにコピーすることでした。この問題は、以前のワークスペースでのみ発生するようになりました。

1
CommonCoreTawan

Eclipse→Preferences→Java→Editor→Content Assist→Restore Defaultsに移動します

その後、プロジェクト→クリーン

0
Ilya Kharlamov

Junoの切り替えワークスペースで同じ問題を修正し、元に戻しました。他の解決策は機能しませんでした。

0
Antonio

私は同じ問題を抱えていましたが、プロジェクト内の1つの特定のファイルのみで完了しました(他のファイルでも問題なく動作しました)。私はEclipse Junoも使用しています。

完了に失敗したファイル内の未使用のインポートに起因するいくつかの警告を削除することで問題を修正しました...そして、それは再び動作し始めました!

0
sdive

このチェックボックス「Javaプロポーザル」は、失敗して「使用可能な補完なし」になるまでチェックされます。その後、次に設定を開いたときに、チェックされていないものとして表示されます。

0
Anders Lindén

Eclipseバージョン2019-06(4.12)でも同じ問題が発生しました。私にとって、プロジェクトのクリーンは問題を解決しました。

0
va11

3.6で既知の不具合が発生していると思います。参照 ここ

新しいリリースをダウンロードしてみてください-それは3.7以降で修正されています

[編集]「Juno」を書いたことに気づきました。最新の(4.2.2)を使用していますか?

0
iGili

今朝、sysoutを拡張できませんでした。数時間の無駄な時間の後、私はSystem.out.println()をメソッドの外に配置しようとしていることがわかりました。メソッド内で実行したところ、すべて完璧に機能しました。

0
user1501247