web-dev-qa-db-ja.com

一部のプロジェクトでEclipseコード補完が機能しないのはなぜですか?

PHP開発を行うPDTを備えたEclipse3.3.2があります。私が作成するすべてのプロジェクトは、SVNプロジェクトも含めてコード補完があります。今、私は別のSVNプロジェクトを開いたところ、コード補完またはPHPテンプレートがありません(CTRL-スペースはそのプロジェクトでは何もしません)。ただし、他のプロジェクトを開くことはでき、コード補完はすべてそれらのプロジェクトで機能します。

1つのプロジェクトでコード補完とテンプレートが「オフ」になるのはなぜですか。また、オンに戻すにはどうすればよいですか。

24
Edward Tanguay

たぶんEclipseはプロジェクトが「PHPの性質」を持っていることを理解していません。両方のプロジェクトの.projectファイルを比較して、違いを探してみてください。次のようなものが含まれている必要があります。

 <natures>
  <nature>org.Eclipse.php.core.PHPNature</nature>
 </natures>

.projectファイルは、ワークスペースのプロジェクトディレクトリの下にあります。

42
Guido

プロジェクト内のファイル.buildパスを探してください...タグの間に次の行を入れてください:

<buildpathentry kind="con" path="org.Eclipse.php.core.LANGUAGE"/>

保存してEclipseを再起動します。今、すべてが大丈夫なはずです...これは私のために働きました。 :)

6
parham

ありがとうございました!コード補完がなかった理由を理解するために一日中過ごしました...

問題は、SVNプロジェクトを作成する場合、.projectはコード補完参照のない基本ファイルであるということです。基本的なPHPプロジェクトを作成し、2つのファイルを比較して、SVNプロジェクトの欠落している部分を置き換える必要があります。

これで、Zend Frameworkライブラリを含め、プロジェクト内のすべてのファイルのコード補完が可能になりました。

5
fabrizio

.projectファイルに追加してからEclipseを再起動してコードを完成させるのはたった1行です。

---
 <natures>
 </natures>
---

変更後は

---
 <natures>
  <nature>org.Eclipse.php.core.PHPNature</nature>
 </natures>
---

それで十分です。

5
lagopixel

@GuidoPHPNatureはこれを修正しません。

@Edward Tanguayはい、それは、新しいPHPプロジェクトを作成すると、Eclipseが.buildpathファイルを追加するためです。

<?xml version="1.0" encoding="UTF-8"?><buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.Eclipse.php.core.LANGUAGE"/></buildpath>

既存のプロジェクトをインポートする場合、Eclipseは.buildpathファイルを生成しませんが、手動で追加するか、existinソースを使用して新しいPHPプロジェクトを作成できます(ウィザードで選択できます)。

4
umpirsky

私は時々同じ問題を抱えています。私にとっては、PHPプロジェクトを "Project"-> "Clean"で再構築することができます。

3
Joe Scylla

この問題が発生した場合は、次の手順に従ってください。

  • プロジェクトツリーで「PHPインクルードパス」を選択します
  • それを右クリックし、「ビルドパス>ビルドパスの設定」をクリックします
  • 開いているウィンドウで、ビルドするフォルダーを追加して、コードアシストを実行できるようにします。

それがすべてです:)それがあなたの問題を解決することを願っています、私は私のものを解決しました:)

2
Ersin DOĞAN

ファイルが「PHPエディター」で開くことを確認してください。ファイルを右クリックし、open withを選択して適切なエディターを選択します。

間違ったエディターを使用していることが判明した場合は、設定"一般​​"コンテンツタイプで関連付けを変更できます。

1
Sietse

編集画面を右クリックして、移動Java->エディター->コンテンツアシスト->詳細...それに応じてプロポーザルを選択

1
ddd

注意

オートコンプリートヘルプ全体を機能させるための前述のソリューションに加えて、別の癖があります。それは有効になっていない可能性があります。

[ウィンドウ]> [プロパティ]に移動し、次にPHP>エディター>コードアシスト(Javaにも同様のオプションがあります)]に移動し、[自動アクティブ化を有効にする]を設定します。プログラムが突然プロンプトなしで何かをすることを決定した(そしてそれを間違って行った)ことに悩まされている場合は、「単一の提案を自動的に挿入する」の選択を解除すれば問題ありません。

1
John

Eclipseでsvnからプロジェクトをチェックアウトすると(subversiveまたはsubsclipeの「プロジェクトを次のようにチェックアウト」)、phpプロジェクトとしてチェックアウトしても、.projectファイルが削除されるか、一般的なものになることがあります。事業。そのディレクトリに移動して、.project .settings /と.cach /を削除することがわかりました。

次に、新しいphpプロジェクトを作成し、ファイルをチェックアウトしたディレクトリを指定します。そして、コード補完が必要であり、svnはリポジトリにリンクされている必要があります。

0

フルC/C++インデクサー(Windows->プロパティ-> C/C++->インデクサー)を有効にし、ラジオボタン[アクティブなボタン構成を使用]を押すことで、これを解決しました。その後、すべてをクリーンアップしてビルドします。

それはEclipseCDT3.4で機能しました

0
Andre

プロジェクトのライブラリを確認してください。同じクラスが使用可能な2つのそのようなjarファイルを含めているか、コード内の1つのクラスを2つのjarファイルで参照できると言っている可能性があります。このような場合、Eclipseは完全に混乱しているため、コードの支援を停止します。

これを確認するためのより良い方法は、アシストが機能していないファイルに移動し、そこですべてのインポートをコメント化することです。インポートを1つずつ追加し、コードアシストが機能しているかどうかをインポートごとに確認するよりも、重複する参照を持つクラスを簡単に見つけることができます。 。

0
Mona

Php Eclipseでコード補完が機能しないことを探してここに来た場合は、プロジェクトがphpプロジェクトとしてサポートされていることを確認してください。プロジェクトを右クリックして、「構成」->「phpサポートの追加」に移動します。コードアシストの適切な設定があれば、すぐに機能するはずです。私のような初心者は、プロジェクトを微調整したり、PHPではなくクリーンなプロジェクトを開始したりすることがあるため、Eclipseはプロジェクトの処理方法を知りません。

0
Camilo

ビルドパスが空であるという問題があったため、編集しようとしたファイルのコードが完了しませんでした。特にワークスペース以外の場所からソースをリンクしている場合は、ビルドパスが正しく設定されていることを確認してください。

たとえば、Apachehtdocsフォルダのように。

0
Vanja

PHP Explorerで、「PHPビルドパス」に移動します。これは空でした。「フォルダの追加」をクリックして、ルートフォルダの横にあるチェックボックスを選択しました。プロジェクトをクリックし、「OK」をクリックしてから、もう一度「OK」をクリックします。

その後、コード補完は機能しているように見えました。あなたが私に尋ねれば、箱から出してすぐにうまくいくはずですが、何でも。

0
strikernl