Как сложить вставленную область с помощью Open Tools 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;
сложить это?
1 ответ
Решение
Найден грязным методом проб и ошибок:-)
(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).ElideNearestBlock;
EnableElisions (), по-видимому, фактически переключает функцию elisions.
Похоже, что выключение и повторное включение выдает желаемый эффект. Происходит не очень приятное обновление экрана. Можно ли подавить то, что я не знаю.