Как сложить вставленную область с помощью Open Tools API? - PullRequest
12 голосов
/ 03 августа 2010

Я хочу вставить регион в окне редактирования, а затем сложить этот регион.

// fEditView: IOTAEditView;

var
  writer: IOTAEditWriter;
begin
  writer := fEditView.Buffer.CreateUndoableWriter;
  //...
  writer.Insert('{$REGION ''Documentation''}'#13#10'{$ENDREGION}');
  writer := nil;  // Flush the buffer
  fEditView.Position.GotoLine(lineNo); // go to the line number of the region
  fEditView.Paint;
end;

Этот фрагмент кода вставит область в редактор кода. Но в среде IDE необходимо создать определенную область в редакторе кода.

Есть ли способ заставить IDE выполнить это действие, и тогда я смогу использовать

(fEditView as IOTAElideActions).ElideNearestBlock;

сложить?

1 Ответ

2 голосов
/ 06 марта 2011

Обнаружено методом проб и ошибок: -)

(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).ElideNearestBlock;

EnableElisions (), по-видимому, фактически переключает функцию elisions.

Отключение elisions иснова, кажется, имеет желаемый эффект.Происходит не очень приятное обновление экрана.Можно ли подавить, что я не знаю.

...