如何从 EnvDTE.Window 中获取 ITextBuffer?
我有一个使用新的 VS 可扩展性 API 的托管语法荧光笔,它为我提供了一个 ITextBuffer
,这非常棒。
在我的扩展的另一部分中,我获取了一个 DTE 对象并附加到活动窗口更改事件,这给了我一个 EnvDTE.Window
对象。
var dte = (EnvDTE.DTE)this.GetService(typeof(EnvDTE.DTE));
dte.Events.WindowEvents.WindowActivated += WindowEvents_WindowActivated;
// ...
private void WindowEvents_WindowActivated(EnvDTE.Window GotFocus, EnvDTE.Window LostFocus)
{
// ???
// Profit
}
我想用这个方法将 ITextBuffer 从窗口中取出。谁能告诉我一个直接的方法来做到这一点?
I have a managed syntax highlighter using the new VS extensibility API's and it gives me an ITextBuffer
, which is great.
In another part of my extension I am getting a DTE object and attaching to the active window changed event, which gives me an EnvDTE.Window
object.
var dte = (EnvDTE.DTE)this.GetService(typeof(EnvDTE.DTE));
dte.Events.WindowEvents.WindowActivated += WindowEvents_WindowActivated;
// ...
private void WindowEvents_WindowActivated(EnvDTE.Window GotFocus, EnvDTE.Window LostFocus)
{
// ???
// Profit
}
I would like to get the ITextBuffer out of Window in this method. Can anyone tell me a straight forward way to do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我使用的解决方案是获取 Windows 路径,然后将其与 IVsEditorAdaptersFactoryService 和 VsShellUtilities 结合使用。
和
The solution I used was to get the Windows path then use it in conjuction with
IVsEditorAdaptersFactoryService
andVsShellUtilities
.and