Eclipse Code 완료가 일부 프로젝트에서 작동하지 않는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/177569

문제

PDT가 PHP 개발을 수행하는 Eclipse 3.3.2가 있습니다. 내가 만든 모든 프로젝트, 심지어 SVN 프로젝트조차도 코드가 완료되었습니다. 이제 방금 다른 SVN 프로젝트를 열었고 코드 완료 또는 PHP 템플릿이 없습니다 (CTRL- 공간은 해당 프로젝트에서 아무것도하지 않습니다). 그러나 다른 프로젝트를 열고 코드 완성을 모두 열 수 있습니다.

하나의 프로젝트에서 코드 완료와 템플릿이 "Off"가되는 이유는 무엇이며 어떻게 다시 켜질 수 있습니까?

도움이 되었습니까?

해결책

Eclipse는 프로젝트에 "PHP 특성"이 있다는 것을 이해하지 못할 수도 있습니다. 차이점을 찾으려면 두 프로젝트의 .project 파일을 비교해보십시오. 다음과 같은 것을 포함해야합니다.

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

.project 파일은 프로젝트 디렉토리의 작업 공간에 있습니다.

다른 팁

프로젝트에서 .BuildPath 파일을 찾으십시오 ... 태그 사이 에이 줄을 넣으십시오.

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

그것을 저장하고 일식을 다시 시작하십시오. 이제 모든 것이 괜찮을 것입니다 ... 이것은 나를 위해 효과가있었습니다. :)

고맙습니다! 나는 코드 완료가없는 이유를 알아 내기 위해 하루 종일 보냈습니다 ...

문제는 SVN 프로젝트를 작성하면 .project는 CodeCompletion 참조가없는 기본 파일이라는 것입니다. 기본 PHP 프로젝트를 만들고 두 파일을 비교하고 SVN 프로젝트 1에서 누락 된 부분을 대체해야합니다.

이제 프로젝트의 모든 파일에 대한 코드 완료, Zend Framework Library조차도

.project 파일을 추가 한 다음 Eclipse를 다시 시작하여 CodeCepletion을 얻기 위해 하나의 줄입니다.

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

변화 후에

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

그렇게해야합니다.

@guido phpnature는 이것을 해결하지 않습니다.

@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 파일을 생성하지 않지만 ENDISTIN SOURCE (Wizard에서 선택할 수 있음)를 사용하여 손으로 추가하거나 새 PHP 프로젝트를 만들 수 있습니다.

때때로 같은 문제가 있습니다. 저에게는 "Project" -> "Clean"으로 PHP 프로젝트를 재건하는 것이 좋습니다.

이 문제가있는 경우 다음 단계를 따르십시오.

  • 프로젝트 트리에서 "PHP 포함 경로"를 선택하십시오.
  • 마우스 오른쪽 버튼을 클릭 한 다음 "빌드 경로> 빌드 경로 구성"을 클릭하십시오.
  • 개방형 창에 빌드하려는 폴더를 추가하여 코드 보조를 수행 할 수 있습니다.

그게 전부 :) 나는 그것이 당신의 문제를 해결하기를 바랍니다. 나는 내 문제를 해결했습니다 :)

"PHP 편집기"와 함께 파일이 열리십시오. 파일을 마우스 오른쪽 버튼으로 클릭하고 선택하십시오 함께 열립니다 올바른 편집기를 선택합니다.

잘못된 편집자를 사용하고있는 것으로 밝혀지면 협회를 변경할 수 있습니다. 기본 설정»일반»컨텐츠 유형

편집 화면을 마우스 오른쪽 버튼으로 클릭, Goto Java-> 편집기 -> Content Assist-> 고급 ... 그에 따라 제안서를 선택하십시오.

주목

전체 자동 완성 도움말을 얻기위한 이미 언급 된 솔루션 외에도 또 다른 기발한 것이 있습니다. 활성화되지 않을 수 있습니다.

창> 속성으로 이동 한 다음 PHP> 편집기> 코드 어시스트 (Java는 비슷한 옵션이 있음)로 이동하여 "자동 활성화 활성화 활성화"를 설정하고 바람직하게는 편안하게 볼 수있는 지연 (0ms). 프로그램에 갑자기 신속하게 당신을 위해 일을하기로 결정하고 (그리고 잘못) "단일 제안서를 자동으로 삽입"하면 괜찮을 것입니다.

Eclipse에서 SVN의 프로젝트를 체크 아웃 할 때 (파괴적 또는 기판식 "프로젝트를 선택 체크 아웃") PHP 프로젝트로 체크 아웃하더라도 .project 파일을 삭제하거나 제네릭이됩니다. 프로젝트. 나는 그 디렉토리에 들어가서 .project .settings/ and .cach/를 삭제하는 것을 발견했습니다.

그런 다음 새 PHP 프로젝트를 만들고 파일을 확인한 디렉토리를 가리 키십시오. 코드가 완료되어야하며 SVN은 Repo로 연결되어야합니다.

빌드 경로가 비어있는 문제가 있었으므로 편집하려는 파일에 대한 코드 완료가 없었습니다. 특히 작업 공간 이외의 다른 위치에서 소스를 연결하는 경우 빌드 경로를 올바르게 설정해야합니다.

예를 들어 Apache HTDOCS 폴더와 같습니다.

전체 C/C ++ 인덱서 (wind 그 후 깨끗하고 모든 것을 만들어냅니다.

그것은 Eclipse CDT 3.4에서 작동했습니다

PHP Eclipse의 코드 완료를 찾고 있다면 작동하지 않으면 프로젝트가 PHP 프로젝트로 지원되고 있는지 확인하십시오. 프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 구성 -> PHP 지원을 추가하십시오. 코드 지원에 대한 올바른 설정이있는 경우 즉시 작동해야합니다. 때로는 프로젝트를 조정하거나 프로젝트를 조정하거나 PHP처럼 깨끗하지 않은 프로젝트를 시작합니다. 따라서 Eclipse는 프로젝트를 처리하는 방법을 모릅니다.

PHP 탐색기의 프로젝트를 마우스 오른쪽 버튼으로 클릭해야했습니다. "PHP 빌드 경로"로 이동했습니다. 이것은 비어있었습니다. "폴더 추가"를 클릭하고 프로젝트의 루트 폴더 옆에서 확인란을 선택하고 "OK"를 클릭 한 다음 "OK"를 다시 클릭했습니다.

그 코드 완료 후에는 작동하는 것 같았습니다. 당신이 나에게 물어 보면 상자 밖으로 운동해야하지만 무엇이든.

프로젝트의 LIB를 확인하십시오. 동일한 클래스를 사용할 수 있거나 코드의 한 클래스를 두 개의 JAR 파일로 굴절 할 수 있다고 말하는 두 개의 JAR 파일이 포함되어있을 수 있습니다. 그러한 경우에도 일식은 완전히 혼란스러워 코드를 지원하지 않습니다.

더 나은 방법을 확인하는 더 나은 방법은 Assist가 작동하지 않는 파일로 이동하고 모든 가져 오기를 하나씩 추가하고 Code-Assist가 작동하는지 여부를 하나씩 추가하고 각 가져 오기를 확인하는 것보다 중복 된 굴절로 클래스를 쉽게 찾을 수 있습니다. .

한 가지 솔루션은 더미 PHP 파일을 포함하는 것일 수 있습니다. PHP 파서가 이러한 클래스도 인식하도록합니다. 예제 더미 파일 :

if(false) {
     require_once 'class/one.php';
     require_once 'class/two.php';
     require_once 'class/three.php';
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top