在 Embarcadero 工具中的光标位置插入文本 API
Insert text at cursor position in Embarcadero Tools API
我正在为 Embarcadero C++ Builder IDE 编写扩展,并希望以编程方式在代码编辑器中的光标位置插入文本。我搜索了工具 API 头文件,但只找到了一个允许我在编辑器开头插入文本的接口。
有什么接口或函数可以让我在指定位置插入文字吗?如果是这样,你能给我一个代码示例吗?
我正在用 C++ 编写扩展,但 Delphi 中的代码示例也可以。
来自 Bruno Fierens 的这篇文档,Extending the Delphi IDE:
var
EditorServices: IOTAEditorServices;
EditView: IOTAEditView;
copyright: string;
begin
copyright := '{ Copyright © 2011 by tmssoftware.com }';
EditorServices := BorlandIDEServices as IOTAEditorServices;
EditView := EditorServices.TopView;
if Assigned(EditView) then
begin
// position cursor at 1,1
EditView.Buffer.EditPosition.Move(1,1);
// insert copyright notice on top
EditView.Buffer.EditPosition.InsertText(copyright);
end;
end;
使用EditView.Buffer.EditPosition.Move()
你应该可以自由移动光标到任何位置。
我正在为 Embarcadero C++ Builder IDE 编写扩展,并希望以编程方式在代码编辑器中的光标位置插入文本。我搜索了工具 API 头文件,但只找到了一个允许我在编辑器开头插入文本的接口。
有什么接口或函数可以让我在指定位置插入文字吗?如果是这样,你能给我一个代码示例吗?
我正在用 C++ 编写扩展,但 Delphi 中的代码示例也可以。
来自 Bruno Fierens 的这篇文档,Extending the Delphi IDE:
var
EditorServices: IOTAEditorServices;
EditView: IOTAEditView;
copyright: string;
begin
copyright := '{ Copyright © 2011 by tmssoftware.com }';
EditorServices := BorlandIDEServices as IOTAEditorServices;
EditView := EditorServices.TopView;
if Assigned(EditView) then
begin
// position cursor at 1,1
EditView.Buffer.EditPosition.Move(1,1);
// insert copyright notice on top
EditView.Buffer.EditPosition.InsertText(copyright);
end;
end;
使用EditView.Buffer.EditPosition.Move()
你应该可以自由移动光标到任何位置。