web-dev-qa-db-ja.com

Eclipseのオートコンプリートの問題

Eclipse Helios(Win7 64)をインストールしたばかりですが、奇妙な問題が発生しています。 System.out.println( "")まで完了すると予想されるsyso-Ctrl-Spaceと入力しましたが、機能しません。 Webを約1時間検索し、[設定]> Java> [エディター]> [コンテンツアシスト]]をデフォルトに設定しました。他はすべて機能しているようです。アイデアはありますか?
明確にするために、ショートカットは機能し、これまでに見た「syso」以外のすべてを完了します。syso(sysoutも試しました)では、「デフォルトの提案はありません」と表示されます。コンテンツアシストでこの種のショートカットを見つけることができませんでしたが、とにかくデフォルトに設定しました。

14
Eugene Marin

それでもオートコンプリートが機能しない場合は、コンテンツアシストメニューでテンプレート提案を有効にしてみてください。これが正確な場所です。

Windows->Preferences->Java->Editor->Content Assist->Advanced

また、syso(Under Templates menu)のエントリが1つしかないことを確認してください。

17
PraveenMax

適切なテンプレートは「sysout」であり、これはどこかで構成できると思いますが、どこにあるかはわかりません。 sysoutを試してからCtrl + Spaceを試してください。これはテンプレートです。すべてのテンプレートは下にあります。

ウィンドウ->設定-> Java->エディタ->テンプレート

ここで、テンプレート名が「sysout」であることがわかります。これにより、System.out.writeln()の文字列置換がトリガーされますが、テンプレート名(sysoが必要な場合)および/または呼び出しによって生成された実際のコードの両方を変更できます。テンプレート

乾杯

8
Peter Perháč

Eclipse Galileoを使用していますが、同じ問題が発生しました。上記の提案された解決策を試した後でも、それは機能しませんでした。以下の変更を加えた後、ようやく出てきました。

  1. Windows->環境設定-> Java->エディタ->テンプレートに移動します
  2. Sysoutテンプレートを選択して編集します。
  3. コンテキストをJavaステートメントからJavaに変更します。

そしてそれは私のために働いた。これがお役に立てば幸いです。

4
Binay Sharma

Peterが述べたように、それはWindow-> Java->エディター->テンプレートの下にあります。次の値の行を探してください。

sysout "Javaステートメント" "標準出力に出力" "on"

プレビューは次のようになります...

System.out.println(${Word_selection}${});${cursor}
3
Bill

カーソルは、その行を取得することが合法である場所に配置する必要があります。カーソルがメソッド定義内にあり、sysoと入力すると、置換が取得されます。ただし、カーソルがメソッド定義の外側のテキストの部分にある場合、たとえばクラスの変数を宣言する場所にある場合、sysoは不正な行system.output.println();を提案しません。

私はこの問題を抱えていて、ここですべての答えを読み、それが私のコピーで機能しているに違いないと確信し、メソッドではなく最後のメソッドの終了}の下にsysoと入力していたことに気付きました。

日食オン!

1
mwengler

以下のアドレスにアクセスしてください。

Windows->環境設定-> Java->エディター->コンテンツアシスト->詳細

[デフォルトに戻す]をクリックします..........これですべてです

その仕事は再び魅力のようです。

1
Mayank Nema

ALT + Lを使用してコンテンツアシストのショートカットを設定してみてください。機能する場合は、お気に入りのショートカットをもう一度選択できます。 (ショートカットCtrl + Spaceは、入力方式の切り替えのショートカットと競合します)。 Linux上のEclipseでは、WordCompletionのショートカットはALT + /であるため、これをContent Assistのショートカットとして設定すると、競合も発生します。)

1
cfh008

このEclipseメニューもチェックしてください:Windows->設定-> Java->外観->タイプフィルター

ここにJava.*またはjavax.*が表示されている場合は、それを削除してみて(または、デフォルトに戻すと機能します)、それが機能することを確認してください。

0
Imran

ショートカットが重複している可能性があります。「キー」サブセクションよりも「概要」に移動します。 「フィルターテキスト」セクションに「ctrl + space」と入力します。 「コンテンツアシスト」と、おそらく同じショートカットを持つ別のコマンドが表示されます。別のショートカットが存在する場合は、そのショートカットを別のショートカットに変更します。

0

汚い回避策:私のようにまだ苦労している場合は、次のAutoHotkeyコードを試すことができます(まだ自分で修正することはできません)

#persistent
#ifwinactive ahk_class SWT_Window0  ; Eclipse Java
:*:syso::
sendraw System.out.println()`;
loop, 2
    send {left}
return
#ifwinactive

これを.ahkファイルに書き込んで実行する必要があります(AutoHotkeyをインストールする必要があります)。このファイルをスタートアップフォルダに入れたいと思うかもしれません。これは非常に便利なツールです。いつか拡張したいと思うかもしれません。

0
phil294

Eclipse Lunaの解決策を見つけました。sysoを記述し、CTRL + Spaceを押して、[インテリジェントコード補完を有効にする]をクリックすると、設定が完了します。オプションのどこかで見つけることができると確信していますが、この方法では高速で簡単です!

0
Georgi