我想在编辑 View 中插入一个区域,然后折叠该区域。
// 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;
折叠吗?
最佳答案
通过肮脏的反复试验发现:-)
(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).EnableElisions;
(fEditView as IOTAElideActions).ElideNearestBlock;
EnableElisions()似乎可以实际切换省略功能。
关闭和重新打开选框似乎具有所需的效果。正在进行一些不太漂亮的屏幕更新。是否有可能抑制我不知道的事情。
关于delphi - 如何使用Open Tools API折叠插入的区域?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3395513/