[java] Eclipse에서 자동 완성을 트리거하지 않도록 스페이스 바 키 누르기 중지

최신 정보

이것은 Eclipse 2018-12 에서 수정되었습니다 . 이 동작은 여전히 ​​기본값이지만 해제로 구성 할 수 있습니다. 방법 은 허용 된 답변 을 참조하십시오 .

나는 이클립스의 이전 버전과 후손에 대한 질문을 남겨 둘 것이다.


Eclipse에서 Java에 대한 인텔리 센스 스타일 제안을 활성화했습니다.

Window -> Preferences -> Java/Editor/Content Assist

다음 설정

Auto activation delay (ms) -> 0
Auto activation triggers for Java -> .(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

출처 = Eclipse Intellisense?

이것은 하나의 성가신 문제를 제외하고 훌륭하게 작동합니다. 을 누르면 spacebar입력되는 토큰이 제안 목록의 맨 위에있는 항목으로 자동 완성됩니다. 가끔 내가 정확히 일치하는 클래스 / 변수 이름을 입력하는 것을 제외하고는 충분하지만 이것이 최고의 제안으로 나타나지 는 않습니다 . 그래서 자연스럽게 spacebarEclipse를 치면 완전히 잘못된 것을 삽입합니다.

EG는 입력 한 후 Cookie나는 명중 것이다 spacebar얻을 CookieMonster.

이것은 버그처럼 보이며 성 가실 정도로 자주 발생하지만 이것에도 불구하고 일반적으로 자동 완성을 트리거 하고 싶지 않습니다spacebar . 아직 선언되지 않은 변수 이름이나 비슷한 이름을 입력하고 싶을 수 있습니다. 자동 완성을 도우미 도구로 사용하고 싶지만 내 자연스러운 타이핑이 항상 우선권을 가져야 합니다.

spacebar자동 완성 트리거 를 중지 하고을 사용하여 돌아가 enter거나 custom일반 입력에 사용되지 않는 키로 자동 완성을 트리거하는 것이 좋습니다 . 이것이 가능합니까?

Content Assist의 모든 설정을 사용 하여 아무 소용이 없습니다. 질문을 인터넷 검색하면 자동 완성 기능 비활성화에 대한 많은 결과가 반환됩니다.


이 문제는 Eclipse 2018-12 [4.10]에서 수정되었습니다 . 승인 된 답변 참조

모든 이전 버전 (예 : 2018-09 [4.9], Photon [4.8], Oxygen [4.7], Neon [4.6] 등)에 있습니다.



답변

Eclipse 2018-12는 이미 패치되었습니다!

Bug 348857 에 대한 패치 는 최근 Eclipse 프로젝트에 병합되었으며 Eclipse 2018-12의 일부로 릴리스되었습니다 . 여기에서 해당 버전을 다운로드 할 수 있습니다 .

이제 자동 완성 enter을 방지하는을 제외한 모든 삽입 트리거를 비활성화하는 새로운 옵션이 spacebar있습니다.

간단히 이동 환경 설정 … -> 자바 -> 편집기 -> 콘텐츠 지원 (또는 -> 환경 설정 -> 자바 -> 편집기 -> 콘텐츠 지원 Windows에서) 선택 ‘입력’을 제외하고 해제 삽입 트리거를 같이, 아래 스크린 샷 :
삽입 트리거 기본 설정 비활성화


답변

이에 대한 문제 추적기에 대한 해결책 이 있습니다. eclipse / dropins 폴더에 항아리 를 복사하십시오 . 다음 다시 시작시 공간은 자동 완성 트리거로 비활성화됩니다.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=348857

Eclipse 12-2018 이상 : 이것은 기본적으로 작동하며 Pyves 답변을 확인하십시오.


답변

Eclipse의 SDK 버전 사용

1. 플러그인보기를 열고 org.eclipse.jface.text를 찾은 다음 마우스 오른쪽 버튼을 클릭하고 소스 프로젝트로 가져 오기를 선택합니다. 가져온 후 작업 공간에서 찾을 수 있습니다.

2. src / org / eclipse / jface / text / contentassist / CompletionProposalPopup.java에서

char[] triggers = t.getTriggerCharacter();
if(contains(triggers,key))

로 변경

if(key!='='&&key!=0x20&&contains(triggers,key))

3. org.eclipse.jface.text 내보내기

org.eclipse.jface.text의 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하고 내보내기-> 배포 가능한 플러그인 및 조각을 선택하고 다음으로 대상 아카이브 파일을 선택하고 완료합니다. eclipse / plugins에서 생성 한 것으로 교체하십시오.


답변

스페이스 바는 Indigo에서도 자동 완성을 선택하는 열쇠였습니다. 내 지식으로는 구성 할 수 없습니다. 사실 이것이 지연이 존재하는 이유 일 것입니다.

및에 private void ...대한 제안을 트리거하지 않고 편안하게 입력 할 수 있도록 지연을 최적의 값으로 설정하는 것이 좋습니다 . 그런 다음 너무 오래 기다렸다가 제안을받은 경우 Esc를 눌러 Content Assist를 중단하십시오.privatevoid


답변

davnicwil과 동일한 구성, 동일한 문제, 여전히 Eclipse 4.4에 있습니다.

솔루션 : (편집기 창) 일식에서 가로 채기 (후크) SHIFT + SPACE (누르고 있기)하고 ESC, SPACE (시퀀스)로 바꿉니다. 이제 너는 내 결정

  • 자동 완성 + 스페이스 : 자동 제안이있을 때 스페이스 바를 누릅니다.
  • 스페이스 바 : 미리 정의 된 키 조합 또는 시퀀스 누르기 (예 : SHIFT + SPACE)

Windows에서는 http://www.heise.de/download/activaid.html을 사용할 수 있습니다 (AutoHotkey, Java 기본 후크 등을 사용할 수도 있습니다.).

ActivAid 사용 방법 :

  1. Ac’tivAid를 열고 “UserHotkeys”를 선택하십시오.
  2. “+”를 클릭하고 설명을 설정합니다.
  3. “바로 가기”를 클릭하고 예를 들어 SHIFT + SPACE를 누릅니다.
  4. 명령 : “{ESC} {SPACE}”(따옴표 제외)
  5. “+”를 클릭하고 이클립스 편집기 프레임을 선택한 다음 Enter 키를 누릅니다.
  6. Ac’tivAid에서 확인, 확인을 클릭하십시오.

내 구성 파일 : activAid / settings / ac’tivAid.ini : [UserHotkeys]

Hotkey11=+Space
Path11=<Send>{ESC}{SPACE}
Description11=Eclipse Shift+Space -> Esc,Space
Category11=
Application11=ahk_class SWT_Window0

영어가 아닌 키보드에서 “HotStrings”(예 : ö-> {, ä->} 등)를 사용하여 키를 다시 매핑 할 수도 있습니다.


답변

마침내 해결되었습니다.

org.eclipse.jface.text.jar를 다운로드 하여 플러그인 폴더 (일반적으로 eclipse / plugin)에 복사하십시오. 자신의 것을 백업하는 것을 잊지 마십시오.

Eclipse Juno에서 작동합니다.

링크가 작동하지 않으면 이것에 대해 의견을 말하십시오.


답변

의 확인란을 통해 자동 활성화를 비활성화 할 수 있습니다.

Window -> Preferences -> Java/Editor/Content Assist

필요에 따라 자동 완성 기능을 활성화합니다. 이에 대한 기본 단축키는 다음과 같습니다.

CTRL+Space