web-dev-qa-db-ja.com

Eclipse / Javaコード補完が機能しない

私はいくつかのプラグイン(注目すべき、EPIC、Clearcase、QuantumDB、MisterQ)を使ってEclipse 3.4.2をダウンロードし、解凍し、そしてセットアップした。

Javaプロジェクトを編集しているときにコード補完が機能していないことがわかりました。 String.と入力してを押すと ctrl+space ポップアップに「No Default Proposals」と表示され、下部のステータスバーに「No Completions available」と表示されます。

何か案は?

537
Robert Brown

を試みて、デフォルトのオプションを復元してください 'Windows > Preferences > Java > Editor > Content Assist > Advanced'

この設定画面に表示されるデータの種類の例ですが、必ずしも現在持っているものとは限りません。

Eclipse content assist setting

(From Vadim この ブログ記事「Content Assist Duplicates in Eclipse(Mylyn)」
重複するMylynエントリがある場合は、名前に "(Mylyn)"が含まれていない重複エントリをオフにします

Eclipseヘルプページ は、復元するデフォルトリストを定義します。

'default'コンテンツアシストリストに含まれるプロポーザルの種類を選択してください

  • その他のJava提案
  • SWTテンプレートの提案
  • テンプレートの提案、
  • タイプ提案
1122
VonC

他の誰かがこれをGoogleで見つけた場合に備えて、ここに答えを追加します。同じ症状別の問題私にとっては、タイプキャッシュは破損していました。

http://mschrag.blogspot.co.nz/2009/01/open-type-cant-find-your-class.html から

  • Eclipseを終了する
  • Workspace/.metadata/.plugins/org.Eclipse.jdt.coreに移動します。
  • * .indexとsavedIndexNames.txtを削除します。
  • Eclipseを再起動し、Ctrl + Tで問題のあるタイプを検索してください。インデックスが再構築されます。
62
hoipolloi

誰かがここに来てオートコンプリート機能を有効にしたい場合は、に行きます。

Preferences -> Java -> Editor -> Content Assist.

次に、 自動アクティベーション セクションに 自動アクティベーショントリガー を入力します。

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

enter image description here

19
Hoa Vu

Xfce +を実行していてIBusプラグインを有効にしている人にとっては、キーボードショートカットの競合があるかもしれません。

私のブログでより多くの情報を参照してください。 http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

UPDATE

@ nhahtdhのコメントで示唆されているように、直接答えるためのいくつかのより多くの情報を追加します。XfceのIBusプラグインはデフォルトで使用します Ctrl+Space キーボードレイアウト切り替えのショートカットそれを変更するには、Optionsに行き、あなたが望む他のものに変更してください。

18
Peter Butkovic

プロジェクトのライブラリをチェックしてください。同じクラスが利用可能な2つのjarファイルを含めるか、コード内の1つのクラスを2つのjarファイルで参照できると言うこともできます。そのような場合、Eclipseはコードが全く混乱しているのでコードの支援をやめます。

これをチェックするより良い方法は、インポートが1つずつ追加され、コードアシストが機能するかどうかを各インポートで確認するよりも、assistが機能していないファイルに移動し、そこですべてのインポートをコメントすることです。 。

10
Mona

これらのどれも私のために働きませんでした。

私は一度だけ特定のクラスでこの問題を経験していました。最後に私にとってうまくいったのは、問題のあるクラスを削除してそれを作り直すことでした。問題は解決しました…謎はそんなにありません!

9
Marc

IE用のGoogleツールバーをインストールしている場合は、同じ問題に直面する可能性があります。ツールバーがショートカットのCtrl + Spaceをキャプチャしているからです。

5
Shashi

私もこの問題に直面していますが、解決方法は異なります。私が従うステップは他の人に役立つかもしれません。

  1. プロジェクト(作業中のプロジェクト)を右クリックします
  2. [プロパティ]> [Javaビルドパス]> [JREシステムライブラリ]に移動します。
  3. 右側の編集...をクリックします
  4. JRE 7を選択してください
4
asifaftab87

私はこの問題に直面し、問題を解決するために何時間も費やしました。上記の異なる答えで述べられたステップに従うことを試みた、私が見つけた解決策はモナが提案したのと同じ行にあるが、わずかに異なる。モナの答えにコメントとして追加しようとしましたが、利用可能なオプションはありませんでした。私のEclipseの問題は、クラスパスがどういうわけか壊れていて、すべてのjarファイルと依存プロジェクトが見つからなかったことでした。リポジトリから最新の.classpathを取った後はうまくいきました。

4
Nirmal Mangal

私はこの問題を抱えていました、そして@Marcのように、特定のクラスでのみ。 Open With = Java Editorを指定する必要があることがわかりました。 Eclipseの初心者として、私は普通のエディタを使っていることに気付いてさえいませんでした。

パッケージエクスプローラーで、ファイルを右クリックして[アプリケーションから開く]を選択します。

4
Elroy Flynn

たぶんこれは同じ問題に出くわす他の人々を助けます。

私の設定:Gradle Import Wizardを使ってSTS(Eclipse Oxygen.2(4.7.2))にインポートされた、他の誰かが作った古いGradleプロジェクト(バージョンGradle 2.12)。

コード補完もうまくいきませんでした(そして私はまだJavaファイルにはJsがありません)が、少なくともコード補完は次のようにすればうまくいきます。

  • プロジェクトフォルダを右クリック>プロパティ> Gradle>ワークスペース設定> Java>エディタ>コンテンツアシスト>詳細
  • 上部のウィンドウで「Java Proposals」を確認してください。
  • 2回適用して閉じる
3
Togepi

私のために働いたもう一つの解決策は、Java - > Appearence - > Type Filtersに行き、allを無効にすることです。enter image description here

2
user1889970

私はこれに遭遇し、そしてそれは私がJavaエディタではなくテキストエディタでファイルを開いていたことになった。

https://stackoverflow.com/users/607470/elroy-flynn responseにコメントしたいのですが、50の評価を得た後に追加コメントが機能しますか?それがわからないWTF ...

ありがとう、トム

2
Tom Orsi

「ウィンドウ」>「設定」>「Java」>「外観」>「タイプ・フィルター」内の多くのオプションを除外しなかったことを確認してください。

このリスト内の項目は、クイックフィックスで表示されたり、自動完了されたり、[タイプを開く]ダイアログのような他のさまざまな場所に表示されたりすることはありません。

2
Aaron

私の場合、Intellisenseは1つのプロジェクトの数クラスで消えただけでした。これは、ビルドパスにライブラリがないことが原因であることがわかりました(以前は機能していましたが)。

だから間違いなくEclipseのすべてのエラーや問題をチェックし、ライブラリが欠落している可能性があるかどうかを確認してみてください

2
arnehehe

私にとって問題は、同じライブラリの複数のバージョン間の衝突でした。 Eclipseの支援はmavenよりも古いバージョンを使用していました。

.m2ディレクトリに移動して不要なlibバージョンを削除し、Eclipseを再起動しなければなりませんでした。

1
ilinca

万が一誰もがうまく動かない絶望的なポイントに到達した場合...コンテンツアシスタントがどういうわけか縮んでいたので、何も示唆が表示されず、ただ「Ctrl + Spaceを押しながらJava以外の場合...」が表示されました。そのため、ポップアップを拡大するには、コンテンツアシストの角をドラッグするだけで済みました。

恥ずかしいですね。それが役に立てば幸い。

注:これはEclipse Oxygenを使ったXfce4を搭載したUbuntuサーバーでした。

1
tete

設定を確認しても完了しない場合は、まだ機能していません。

  • 正しいディレクトリ構造を持っていることを確認してください。

ファイルの横に正しいアイコンが表示されていますか。

enter image description here

Eclipseによってファイルがどのように扱われるかがわかります。

enter image description here

私はMaven Webアプリケーション成果物でその話をしていたので、私はこの答えを投稿しています。デフォルトではMaven-WebAppはソース用のフォルダを作成しません、そして私は5分間何が起こっていたのかと思ってリソースに私のJavaを入れました... :)

1
Witold Kaczurba

プロジェクトディレクトリに属していないファイルを編集すると、Eclipse Neonで問題が発生します 。同じファイルをsrcディレクトリではなくプロジェクトのルートディレクトリにコピーすると、補完作業が始まります。

ファイルが別のディレクトリから開かれると、JREの補完のみが機能します。例えば、Java.は完了しますが、junit.は完了しません。

1
Jarekczek

最新の3-19 Eclipseビルドを使用する人のために:

Oxygen から 3-19 Eclipseバージョンにアップグレードするときに起こったことなので、自動補完機能はアップグレードプロセス中に正しく移行されなかったと思います。

私にとってうまくいった唯一の解決策は、新しいEclipseワークスペースを作成し、そこにプロジェクトをインポートすることでした。数分かかるかもしれませんが、それだけの価値があります - 他のソリューションに費やした時間と比較して...

0
Naor Bar