c++ - 在 Embarcadero Tools API 中的光标位置插入文本

标签 c++ delphi toolsapi

我正在为 Embarcadero C++ Builder IDE 编写扩展,并希望以编程方式在代码编辑器中的光标位置插入文本。我搜索了 Tools API 头文件,但只找到了一个允许我在编辑器开头插入文本的接口(interface)。

有什么接口(interface)或函数可以让我在指定位置插入文本吗?如果可以,您能否提供一个代码示例?

我正在用 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(),您应该能够将光标自由移动到任何位置。

关于c++ - 在 Embarcadero Tools API 中的光标位置插入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37385488/

相关文章:

c++ - Qt 生成文件错误

c++ - std::enable_if 和模板别名,防止用户填写 std::enable_if 参数

arrays - 如何使用 OmniThreadLibrary 中的 SetParameter 将数组作为参数传递给任务?

delphi - 如何构造一个具有很多属性的对象?

delphi - 表单中的消息 'ToolsAPI not found'

c++ - 枚举 Windows 中所有可用的驱动器号

c++ - 如何在 C++ 项目的 Cmake 文件中添加 Mac OS 框架

delphi - 如何知道项目中的所有条件定义

delphi - 来自delphi IDE专家的如何枚举IDE的形式

delphi - 如何使用 OpenToolsAPI 在源代码编辑器中突出显示特定行