2014-03-19 5 views
5

컴파일러 오류를 강조 표시 할 때 Delphi IDE에서와 같이 활성 편집기 창에서 특정 행을 강조 표시 할 수 있습니까? 그냥 최상위 편집기에서 특정 라인으로 이동 할 수있는 상태인지OpenToolsAPI를 사용하여 소스 편집기에서 특정 행을 강조 표시하는 방법

+0

당신은 또한 메시지 창을 토륨하는 메시지를 추가 하시겠습니까? –

+0

OTAPI에서는 직접적으로 가능하지 않습니다. 코드 편집기의 페인팅 제어에 대해서는 아무 것도 없기 때문입니다. Castalia와 같은 플러그인은 제어 페인팅을 가로 채기 위해 저급 수준의 해킹을 수행하며, 내가 무엇인지 구체적으로 알지 못합니다. 예를 들어 여기서는 매우 유용한 답변이 될 것입니다. 코드 접기 등으로 인해 특정 행의 위치를 ​​정확히 알기 때문에 복잡합니다. –

+0

@UliGerhardt 아니요, 아닙니다. 내가 원하는 유일한 것은 선택한 코드 줄에 사용자주의를 기울이는 것입니다. –

답변

7

다음이 시도 :

procedure GotoLine(LineNumber: Integer); 
var 
    EditorServices: IOTAEditorServices; 
    Buffer: IOTAEditBuffer; 
    Position: IOTAEditPosition; 
begin 
    if not Supports(BorlandIDEServices, IOTAEditorServices, EditorServices) then 
    Exit; 
    Buffer := EditorServices.TopBuffer; 
    if not Assigned(Buffer) then 
    Exit; 
    Position := Buffer.EditPosition; 
    if not Assigned(Position) then 
    Exit; 
    Position.GotoLine(LineNumber); 
    Buffer.TopView.Paint; 
end;