gpt4 book ai didi

c# - MonoDevelop 插件如何在文本编辑器中突出显示一行?

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:34 25 4
gpt4 key购买 nike

我正在开发一个主要在源代码编辑器上运行的 MonoDevelop 插件。现在我想根据行的内容突出显示具有背景颜色的特定行。

到目前为止,我看到了两种似乎都不起作用的方法:第一种是使用 MonoDevelop 绘制线条背景的标准方式,它基于错误或警告,通过创建一个 Task 和将它添加到 TaskService.Errors - 但在这里我无法定义自定义颜色,我只想给出视觉指示,而不是指示问题。

第二个基于对 Mono.TextEditor highlight line 的回答,它提供了一些有值(value)的提示,但要求我手头有一个 Mono.TextEditor 实例。我已经使用了 MonoDevelop.Ide.IdeApp.Workbench.ActiveDocument,但这是 MonoDevelop.Ide.Gui.Document 的一个实例,我不知道如何获取来自它的 Mono.TextEditor.TextDocument

有没有人看到无需定义自定义编辑器即可实现此目的的方法?

最佳答案

你没有说你是如何获得 MonoDevelop.Ide.Gui.Document 所以我猜你正在做类似的事情:

MonoDevelop.Ide.Gui.Document doc = MonoDevelop.Ide.IdeApp.Workbench.ActiveDocument;

您可以使用类似的代码访问 TextEditor 和 TextEditorDocument:

var view = MonoDevelop.Ide.IdeApp.Workbench.ActiveDocument.Window.ActiveViewContent as MonoDevelop.SourceEditor.SourceEditorView;
var textEditor = view.TextEditor;
var textEditorDoc = view.Document;

您需要引用 MonoDevelop.SourceEditor 插件才能使用 SourceEditorView。

关于c# - MonoDevelop 插件如何在文本编辑器中突出显示一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com