Eclipse / Java 코드 완료가 작동하지 않습니다


594

일부 플러그인 (주목할 수있는, EPIC, Clearcase, QuantumDB, MisterQ)과 함께 Eclipse 3.4.2를 다운로드, 압축 해제 및 설정했습니다.

이제 Java 프로젝트를 편집 할 때 코드 완성이 작동하지 않습니다. 입력 String.하고 ctrl+를 누르면 space팝업에 "기본 제안 없음"이 표시되고 하단의 상태 표시 줄에 "사용 가능한 완료 없음"이 표시됩니다.

어떤 아이디어?


1
우분투에서이 문제를 해결하려는 사람들에게는 [여기에 답이 있습니다] [1]. [1] : askubuntu.com/questions/243639/...
신타

답변:


1245

' ' 에서 기본 옵션복원 해보십시오Windows > Preferences > Java > Editor > Content Assist > Advanced

이 기본 설정 화면에 표시되는 데이터 종류의 예이지만 반드시 현재 가지고있는 것은 아닙니다.

일식 콘텐츠 지원 설정

( 이 블로그 게시물의 Vadim 에서 "Eclipse (Mylyn)의 Content Assist Duplicates" :
Mylyn 항목이 중복 된 경우 (Mylyn)이름에 " "가 포함되지 않은 중복 항목의 선택을 취소하십시오 )

이클립스 도움말 페이지는 복원 할 기본 목록을 정의합니다 :

'기본'컨텐츠 지원 목록에 포함 된 제안 종류를 선택하십시오 .

  • 다른 Java 제안,
  • SWT 템플릿 제안,
  • 템플릿 제안,
  • 제안서

3
내 환경에서 이것이 어떻게 바뀌 었는지 전혀 모르겠습니다. 확실히하지는 않았지만 솔루션이 작동합니다! 감사.
pstanton

71

다른 사람이 Google에서 이것을 찾을 수 있도록 여기에 답변을 추가하고 있습니다. 동일한 증상; 다른 문제. 나를 위해 유형 캐시가 손상되었습니다.

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

  • 이클립스 종료
  • workspace / .metadata / .plugins / org.eclipse.jdt.core로 이동하십시오
  • * .index 및 savedIndexNames.txt 제거
  • Eclipse를 다시 시작하고 Ctrl+ T를 위반하는 유형을 검색하십시오 . 인덱스가 다시 작성됩니다.

+1, 이것은 나를 위해 일했습니다. 또한 이전에 Eclipse로 고통 받고 있었으며 모든 옵션이 달리 말했지만 프로젝트가 1.5에 있다고 생각했기 때문에이 문제 중에 손상되었을 것입니다.
Philip Guin

3
잠깐만 방법을 시도한 후 CA는 정확히 한 번 작동 한 다음 다시 폭발합니다. 어. 전체 작업 공간을 다시 만든 후에도 문제가 지속됩니다. 다른 해결책은 효과가 없습니다 ...
Philip Guin

2
+1. 참고 : 람다 식으로 컨텐츠 지원을 시도하면 Eclipse 버전에서 잘 지원되지 않을 수 있습니다.
Bludwarf

잘 작동했습니다. 감사합니다!
Modo

27

누군가 여기 와서 자동 완성 기능을 활성화하려면

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

그런 다음 자동 활성화 섹션에서 Java에 대한 자동 활성화 트리거 를 채우십시오 .

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

여기에 이미지 설명을 입력하십시오


큰 코드 기반으로 인해식이 매우 느려질 수 있습니다.
J-ho

19

IBus 플러그인이 활성화 된 Xfce +를 실행하는 경우 키보드 단축키 충돌이있을 수 있습니다.

내 블로그에 대한 자세한 정보를 참조하십시오 : http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

업데이트 :

@nhahtdh의 의견에서 제안한 것처럼 직접 대답 할 수있는 더 많은 정보를 추가하십시오 .Xfce의 IBus 플러그인은 기본적으로 키보드 레이아웃 전환을 위해 단축키 Ctrl+ Space단축키를 사용합니다 . 변경하려면 옵션으로 이동하여 원하는 다른 것으로 변경하십시오.


3
나중에 사용할 수 없게 될 경우를 대비하여 블로그의 필수 부분을 여기에 포함하십시오.
nhahtdh

2
의 동일한 문제입니다 LXDE. Preferences->로 이동 Keyboard Input하여 Next input method바로 가기를 제거하십시오 .
Kshitiz Sharma

1
Cinnamon 데스크톱 환경에서도 동일한 문제가 나타납니다.
Akkusativobjekt

11

프로젝트의 라이브러리를 확인하십시오. 동일한 클래스가 사용 가능한 두 개의 jar 파일을 포함하거나 코드의 한 클래스가 두 개의 jar 파일에서 참조 될 수 있다고 말했을 수 있습니다. 이 경우 일식은 코드가 완전히 혼란 스러우므로 코드 지원을 중지합니다.

이를 확인하는 더 좋은 방법은 지원이 작동하지 않는 파일로 이동하여 가져 오기를 하나씩 추가하고 코드 가져 오기가 작동하는지 여부를 각 가져 오기에서 확인하는 것보다 모든 가져 오기를 주석 처리하는 것입니다. .


9

이 중 어느 것도 나를 위해 일하지 않았습니다.

한 번만 특정 수업 에서이 문제가 발생했습니다. 마침내 나를 위해 일한 것은 문제를 일으키는 클래스를 삭제하고 다시 만드는 것이 었습니다. 문제가 해결되었습니다.


5

IE 용 Google 툴바를 설치 한 경우 동일한 문제가 발생할 수 있습니다. 툴바는 단축키 ctrl을 캡처하기 때문 +Space입니다.


5

나는이 문제가 있었고 @Marc와 같은 특정 클래스에서만. Open With = Java Editor를 지정해야한다는 것을 알았습니다. 이클립스 초보자로서 나는 단지 평범한 텍스트 편집기를 사용하고 있다는 것을 깨닫지 못했습니다.

패키지 탐색기에서 파일을 마우스 오른쪽 버튼으로 클릭하고 "연결 프로그램"을 선택하십시오.


4

나는이 문제에 직면하여 문제를 파악하기 위해 몇 시간을 보냈다. 위의 다른 답변에 언급 된 단계를 따르려고했는데, 찾은 해결책은 Mona이 제안한 것과 같은 줄에 있지만 약간 다릅니다. Mona의 답변에 의견을 추가하려고 시도했지만 사용할 수있는 옵션이 없습니다. 내 일식 문제는 클래스 패스가 어떻게 든 손상되었고 모든 항아리와 종속 프로젝트가 누락되었다는 것입니다. 저장소에서 최신 .classpath를 가져온 후 정상적으로 작동했습니다.


4

나는 또한이 문제에 직면했지만 다른 방식으로 해결되었습니다. 내가 따르는 단계는 다른 사람들에게 도움이 될 수 있습니다.

  1. 프로젝트 (작업중 인 프로젝트)를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 특성> Java 빌드 경로> JRE 시스템 라이브러리로 이동하십시오.
  3. 오른쪽의 편집 ...을 클릭하십시오
  4. JRE 7을 선택하십시오

4

구성을 확인한 후에도 여전히 작동하지 않습니다.

  • 디렉토리 구조가 올바른지 확인하십시오.

파일 옆에 오른쪽 아이콘이 보입니까? :

여기에 이미지 설명을 입력하십시오

Eclipse에서 파일을 처리하는 방법을 알려줍니다.

여기에 이미지 설명을 입력하십시오

Maven webapp artifact와 함께 그 이야기를 했으므로이 답변을 게시하고 있습니다. 기본적으로 Maven-WebApp은 소스 폴더를 만들지 않으며 Java를 리소스에 넣고 5 분 동안 무슨 일이 있었는지 궁금합니다 ... :)


3

창> 환경 설정> Java> 모양> 유형 필터에서 많은 옵션을 필터링하지 않았는지 확인하십시오.

이 목록의 항목은 빠른 수정으로 표시되거나 자동 완성되거나 열기 유형 대화 상자와 같은 다른 여러 위치에 나타나지 않습니다.


3

나를 위해 일한 또 다른 솔루션은 Java-> 모양-> 유형 필터로 이동하여 모두 비활성화하는 것입니다.여기에 이미지 설명을 입력하십시오


3

아마도 이것은 같은 문제를 겪는 다른 사람들을 도울 수 있습니다.

내 설정 : Gradle Import Wizard를 사용하여 STS (Eclipse Oxygen.2 (4.7.2))로 가져온 다른 사람이 만든 오래된 Gradle 프로젝트 (버전 Gradle 2.12).

코드 완성도 작동하지 않았지만 (Java 파일에는 여전히 빈 J가 있습니다.) 최소한 다음을 수행하여 코드 완성을 얻었습니다.

  • 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하고 속성> Gradle> 작업 공간 설정 구성> Java> 편집기> 컨텐츠 지원> 고급
  • "창 위쪽의 Java 제안서"를 확인하십시오.
  • 2 배 적용 후 닫기

2

필자의 경우 Intellisense는 한 프로젝트에서 몇 클래스에서만 사라졌습니다. 빌드 경로에서 라이브러리가 누락 되었기 때문입니다 (이전에는 작동했지만).

따라서 Eclipse의 모든 오류 또는 문제를 확인하고 라이브러리가 누락되었는지 확인하십시오.


2

나는 이것에 부딪 쳤고 자바 편집기가 아닌 텍스트 편집기로 파일을 여는 중이었습니다.

https://stackoverflow.com/users/607470/elroy-flynn 응답 에 댓글을 달고 싶지만 댓글 추가는 50 점을받은 후에 만 ​​작동합니까? 확실하지 않은 WTF입니다 ...

고마워, 톰


평판 블록은 기본적으로 사람들이 더 많은 것 외에 더 많은 것을 얻을 이유가 있습니다. 또한 커뮤니티에 참여하고 존중하는 정도를 측정하는 척도 (예 : 평판)의 역할을하므로 평판이 높아질수록 더 많은 특권을 얻게됩니다. 사이트 작동 방식에 대한 자세한 설명은 stackoverflow.com/tour를 참조하십시오 .
Amndeep7 2016 년

이것은 실제로 주석 일뿐입니다. 언급 한 답변은 이미 텍스트 편집기 문제를 다룹니다. 삭제하고 싶지 않으면 업장을 잃고 싶지 않습니다.
누 메논

1

나에게 문제는 동일한 라이브러리의 여러 버전 간 충돌이었습니다. Eclipse 지원은 maven보다 이전 버전을 사용하고있었습니다.

.m2 디렉토리로 이동하여 원치 않는 lib 버전 + 재시작 이클립스를 삭제해야했습니다.


1

프로젝트 디렉토리에 속하지 않는 파일을 편집 할 때 Eclipse Neon에서 문제점이 발생합니다 . 동일한 파일을 src 디렉토리가 아닌 프로젝트 루트 디렉토리에 복사하면 완료가 시작됩니다.

다른 디렉토리에서 파일을 열면 JRE 완료 만 작동합니다. 예를 들면 : java.완료하지만 junit.그렇지 않습니다.


1

아무 일도 일어나지 않는 필사적 인 지점에 도달 한 경우를 대비하여 ... 어떻게 든 콘텐츠 지원이 축소되어 제안이 표시되지 않아 "Java가 아닌 경우 Ctrl + Space를 누르십시오 ..."라는 메시지가 표시됩니다. 따라서 컨텐츠 지원의 모서리를 드래그하여 팝업을 확대하는 것입니다.

부끄러운 줄 알아 도움이 되길 바랍니다.

참고 : 이것은 Eclipse Oxygen을 사용하는 Xfce4가 설치된 Ubuntu 서버입니다.


1

최신 3-19 이클립스 빌드를 사용하는 사람들을 위해 :

산소 에서 3-19 일식 버전으로 업그레이드 할 때 방금 발생 했기 때문에 업그레이드 프로세스 중에 자동 완성 기능이 올바르게 마이그레이션되지 않는다고 가정합니다.

나를 위해 일한 유일한 솔루션은 새로운 일식 작업 공간을 만들고 프로젝트를 가져 오는 것입니다. 몇 분이 걸릴 수 있지만 다른 솔루션에 소비 한 시간과 비교하면 가치가 있습니다 ...


예, Java 메소드를 탐색 할 수 없습니다. 탐색 / 열기 선언이 작동하지 않습니다.를 클릭하십시오. 그리고 이것은 꽤 자주 일어나며, 자바 클래스 파일은 효과적으로 텍스트 파일이되었습니다. 그래서 작업 공간을 계속 삭제하고 maven 프로젝트를 1 분 안에 다시 가져옵니다.
signonsridhar


0

Eclipse 2019-09로 업그레이드 한 이후이 문제가 발생했습니다. 위의 제안 중 일부를 기반으로 이것이 나를 위해 일한 것입니다.

Eclipse-> 환경 설정-> Java-> 편집기-> 컨텐츠 지원-> 고급으로 이동해야했습니다.

Java 편집기 / 콘텐츠 지원 고급

키 바인딩 제안, Java Non-Type, Java, Java (Task-Focused) 또는 Java Type 제안 중 하나를 켜면 자동 완성을 사용할 수 있다는 것을 알았습니다. 내가 모두 켜면 자동 완성 작업뿐만 아니라 중복 된 메소드가 나열됩니다. 나는 추측하고 있지만 아마도 Java Type Proposals를 사용할 것입니다. 이 네 가지 유형의 차이점에 대한 설명이 있으면 감사하겠습니다.


0

Java Spring Boot 프로젝트에서 STS를 실행하면 다음과 같이 작동합니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.