Подтвердить что ты не робот

Как свернуть вставленный регион с помощью API открытых инструментов?

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

// 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;

чтобы сложить его?

4b9b3361

Ответ 1

Найдено методом проб и ошибок grubby: -)

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

EnableElisions(), похоже, фактически переключает функцию разрешений.

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