12

我想在编辑视图中插入一个区域,然后折叠这个区域。

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

折叠它?

4

1 回答 1

2

通过肮脏的反复试验发现:-)

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

EnableElisions() 似乎实际上切换了省略功能。

关闭并重新打开省略似乎具有预期的效果。正在进行一些不太漂亮的屏幕更新。能不能压制,我不知道。

于 2011-03-06T09:18:32.727 回答