program tip

Eclipse에서 자동 완성을 트리거하는 스페이스 바 키 누르기를 중지합니다.

radiobox 2020. 10. 6. 08:03
반응형

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 키를 눌러 콘텐츠 지원을 중단하십시오.privatevoid


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

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

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

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

ActivAid 사용 방법 :

  1. Open Ac'tivAid, select "UserHotkeys"
  2. click on "+", set a description
  3. click on "short cut", press e.g. SHIFT+SPACE
  4. Command: "{ESC}{SPACE}" (without quotes)
  5. click "+", select eclipse editor frame, press ENTER
  6. click OK, OK in Ac'tivAid

My config file:activAid/settings/ac'tivAid.ini:[UserHotkeys]

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

You may also remap keys on non-english keyboards with "HotStrings", e.g. ö->{,ä->} etc.


Finally worked it out.

Try download this org.eclipse.jface.text.jar and copy it to your plugin folder(Typically eclipse/plugin). Do not forget to backup your own one.

Works on Eclipse Juno.

If the link doesn't work, comment on this, thanks.


You could disable Auto activation via the check box in

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

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

CTRL+Space


Eclipse에서 창-> 환경 설정-> 일반-> 키로 이동하여 Content Assist 명령에 대한 바인딩을 제거하십시오.

참고 URL : https://stackoverflow.com/questions/14297735/stop-spacebar-keypress-from-triggering-autocomplete-in-eclipse

반응형