2015-01-25 4 views
0

저는 현재 에이스 편집기 탭에서 코드 냄새를 감지하는 외부 플러그인을 실행하고 있으며 setAnnotations를 사용하여 줄 번호와 오류 메시지의 배열을 반복하여 강조 표시하려고합니다 모든 오류. 그러나 내 배열의 마지막 객체 만 강조 표시되면 두 번째 주석이 설정되면 이전 객체가 지워집니다.에이스 편집기 setAnnotations 메서드가 한 번에 하나의 오류 만 표시합니다.

function highlightError(errorMsg, line){ 
editor.getSession().setAnnotations([{ 
    row: line-1, 
    column: 10, 
    text: errorMsg, 
    type: "error" // also warning and information 
}]); 

}

이 내가 그것을 어떻게 사용하고 방법입니다.

미리 감사드립니다.

답변

1

setAnnotations는 이전 호출에서 주석을 대체 주석의 배열을합니다, 그래서 당신은 배열에 모든 주석을 수집하고 당신은 모든 주석 등을 보유하고 JSON 배열을 정의 할 수 있습니다 한 번, 그 후

+0

제발 어떻게 할 수 있겠습니까? – NeemaB

+0

괜찮습니다. 나는 그것을 분류했습니다. – NeemaB

0

을 setAnnotations를 호출해야 편집기로 설정하십시오.

//This array holds all the errors 
var jsonErrorArray = []; 

var errorLinesArray = [1,5, 7]; 
var errorMessagesArray = ["Error on line 1", "Error on line 5", "Error on line 7"]; 

for (var i = 0; i < errorLinesArray.length; i++) { 
      jsonErrorArray[fileNamesArray[i]].push({ 
       row: errorLinesArray[i]-1, 
       column: 10, 
       type:"error", 
       text: errorMessagesArray[i] 
      }); 
     } 

//Set the annotations to the editor 
editor.getSession().setAnnotations(jsonErrorArray[currentFileName]);