如何在Visual Studio编辑器窗口上隐藏或显示自定义边距

时间:2019-12-27 12:08:36

标签: visual-studio-2019 visual-studio-extensions vsix

在VSIX项目中,我可以使用 Editor Margin 项目模板为编辑器定义自定义边距。

是否可以通过Visual Studio扩展隐藏或显示自定义边距?

或者,我的扩展程序是否可以使用自定义边距打开一个新的编辑器窗口,默认情况下该窗口不可见?

1 个答案:

答案 0 :(得分:0)

对于我的应用程序,我能够在保证金工厂中处理它,该工厂决定是否创建保证金。 如果未创建边距,则仅返回null。

在页边距工厂中,我导入TextDocumentFactoryService

[Import]
public ITextDocumentFactoryService TextDocumentFactoryService { get; set; }

并使用它在编辑器中获取文件名

ITextDocument document;
var isok = TextDocumentFactoryService.TryGetTextDocument(wpfTextViewHost.TextView.TextDataModel.DocumentBuffer, out document ) ;
var fn   = document.FilePath ;

我还定义了自己的MEF服务,该服务也已导入到保证金工厂中。我使用这项服务

  • 确定是否需要保证金
  • 获取需要在空白处显示的信息

这用于实现AnkhSVN2019中的注释功能。相关文件位于this directory中。