アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

Eclipseでコード補完ができないとき

環境は Eclipse Neon.3(4.6.3) です。

いくつかのプロジェクトで同時進行で作業していると、何故かコード補完が効くプロジェクトと効かないプロジェクトがある…。
軽くググると色々な方法が出てくるのですが、大抵「そんなメニューねえよ!」状態。
バージョンが違うとだいぶ変わりますよね、Eclipse…。

解決方法

最終的に、
 プロジェクトを右クリック>構成>Convert to PHP Project
で解決しました。
Eclipseの再起動なども不要。
PHPプロジェクトとみなされていなかったようです。

f:id:honey8823:20170928122125p:plain

いや、PHPプロジェクトとしてSVNから落としてきたはずなんだけどなー…? と首をひねっておりますが
とりあえず解決したので良し。

確かによく見ると

f:id:honey8823:20170928122235p:plain

f:id:honey8823:20170928122246p:plain:w200

f:id:honey8823:20170928122246p:plain

微妙にアイコン違う…。
この「P」がついていないやつはPHPプロジェクト扱いされてないのか…。


せっかくなので調べたやつも貼っておく

その1

aruo.net

プロジェクトを選択しコンテキストメニューを表示(右クリック)-[構成]-[PHPサポートの追加]([Configure]-[Add PHP Support])

結果としてはこれが先述の内容と同じですね。
メニューの名前が違うからパッと見「そんなメニューねえよ!」だったし、
「もしかしてコレか?」と思ったあとも押していいものかちょっと迷った。
AddとConvertだと印象違うよね…

ワークスペースの .metadata/.plugins/org.eclipse.dltk.core.index.sql.h2 ディレクトリ内のファイルをすべて削除し, Eclipse を再起動する.

これは「コード補完や定義ジャンプをするためのDBが肥大化しているか壊れている」ときに有効だそう。

その2

qiita.com

1. プロジェクト上で右クリックして、ビルド・パス
2. 左のツリーから[PHPビルド・パス]を選択
3. [ファルダーの追加]
4. F3が効かなかったフォルダーにチェックを付ける
5. [OK]ボタンで完了

これは今回の件が使えないパターンのときに有効だったとのこと。

その3

somemo.hatenablog.com

プロジェクトのプロパティからPHPビルドパスにプロジェクト全体を加えると補完できるようになります。

これもそれらしいメニューが見当たらず。

その4

www.ayutanalects.com
「.buildpath」を直接編集する方法。