문제

Eclipse Java 편집기에서와 같이 Eclipse 편집기 플러그인, 즉 Red Wriggly 밑줄, 스크롤 바의 빨간색 마커 및 설명 메시지를 표시 할 때 구문 오류 (예 : 불법 토큰 순서)를 어떻게 표시 할 수 있습니까? 당신은 어느 쪽이나 마우스를 가져 옵니까?

사용자 정의 파일 형식 (특히 Shark3D 게임 엔진의 "스네이크 파일 형식")에 대한 Eclipse 편집기 플러그인을 작성합니다. 구문 강조 표시와 개요를 얻기 위해 스캐너를 구현했습니다.

  • 밑줄에 대해서는 스캐너가 IToken "칙칙한 밑줄" TextAttribute 정상 대신 대신 구문 오류를 표시하기위한 특정 메커니즘이 있습니까?
  • 스크롤 바 마커는 어떻게 구현합니까? ~이다 IAnnotationModel 여기서 관련 인터페이스? 그렇다면 마커가 나타나도록 구현을 어디에 등록합니까?
  • 나는 단지 찾았다 SourceViewerConfiguration.getAnnotationHover(), 호버 동작을 구현할 수는 있지만 "주석"에 대해서만 스크롤 바 마커를 의미한다고 생각합니다. 텍스트 자체의 호버 동작을 어떻게 구현합니까?

나는이를 다루는 튜토리얼의 URL뿐만 아니라 행복한 구체적인 조언이 될 것입니다 - Eclipse 도움말 문서와 예제는 보이지 않습니다.

편집하다:마커는 이에 대한 최고의 솔루션입니다. 사용 방법의 작업 예는 플러그인 예제 코드에서 찾을 수 있습니다. org.eclipse.ui.examples.readmetool.AddReadmeMarkerAction

도움이 되었습니까?

해결책

마커를 사용해야합니다.

"Java Developer 's Guide to Eclipse"에서 파생 된 예는 다음과 같습니다.

<extension point="org.eclipse.core.resources.markers"  
            id="snakesyntax"  
            name="Snake syntax error">  
    <super type="org.eclipse.core.resources.problemmarker" />  
    <super type="org.eclipse.core.resources.textmarker" />  
    <persistent value="true" />
<extension>

IMarker marker = res.createMarker("com.ibm.tool.resources.snakesyntax");

marker.setAttribute(IMarker.SEVERITY, 0);
marker.setAttribute(IMarker.CHAR_START, startOfSyntaxError);
marker.setAttribute(IMarker.CHAR_END, endOfSyntaxError);
marker.setAttribute(IMarker.LOCATION, "Snake file");
marker.setAttribute(IMarker.MESSAGE, "Syntax error");

다른 팁

올바른 방법은 마커 인터페이스를 사용하는 것입니다.

마커는 기본적으로 마커 객체를 소스 코드의 위치에 매핑하는 모델이므로 여러 파일에 오류가 발생할 수있는 상황에서는 의미가 있습니다. (Imarker 인터페이스 참조)

더 저렴한 옵션은 현재 편집기에 마크 업을 추가하려는 경우 모든 프로젝트에 마크 업을 추가하려는 경우 주석을 사용하는 것이 아니므로 직접 제거 할 수 있습니다.

마커는 UI에 주석으로 표시되지만 Eclipse는 주석 자체를 추가하고 제거합니다. 직접 주석을 사용하면 통제 중입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top