【发布时间】:2020-01-14 20:24:38
【问题描述】:
我在 Visual Studio 扩展 AnkhSVN2019 中使用编辑器窗口上的自定义边距实现了一个注释功能。
在当前版本中,编辑器窗口上的选项卡仅包含文件名,看起来与普通编辑器窗口相同。我想修改标题,例如添加“Annotated”一词。
我正在打开编辑器窗口
dte.ItemOperations.OpenFile
在margin factory中,得到接口IWpfTextViewHost。
如何修改标签中的标题?
【问题讨论】:
-
我认为你可以使用
dte.ActiveWindow.Caption。请参考ActiveWindow Property,当你打开编辑器窗口时,你可以使用activewindow捕捉它。 -
不幸的是,这会导致 InvalidOperationException 并显示消息 “无法修改文档或主窗口的标题。”
-
您好 可以在[Window.Caption 属性][1] 中为工具窗口设置 Caption 不知道如何实现编辑器窗口的自定义边距。您能否在您的项目中提供更具体的细节。我也尝试为编辑器窗口提供利润。 [1]:docs.microsoft.com/en-us/dotnet/api/…
-
自定义边距位于编辑器窗口,而不是工具窗口。如果您正在寻找示例,我实现的自定义边距位于 Annotate subdirectory of the Anhh.UI project 中。我从GitDiffMargin project 得到了一些想法。如果您想在字形边距中添加一些东西,Microsoft 提供了一个很好的演练。您可以通过 Add/New Item -> C#/Extensibility/Editor -> Editor Margin 在 Visual Studio 中添加一个简单的边距。
-
基于getDiffMargin,通过以下代码编辑标题,不使用Object dte,itemoperations。我找不到自定义编辑器窗口的方法。使用 SVsDifferenceService = Microsoft.VisualStudio.Shell.Interop.SVsDifferenceService; IVsDifferenceService 差异服务 = _serviceProvider.GetService(typeof(SVsDifferenceService)) as IVsDifferenceService; differenceService.OpenComparisonWindow2(leftFileMoniker, rightFileMoniker, caption, tooltip, leftLabel, rightLabel, inlineLabel, roles, (uint)grfDiffOptions);
标签: visual-studio-2019 visual-studio-extensions vsix vspackage