在visual studio编辑器中获取插入位置

时间:2013-07-29 19:31:06

标签: visual-studio visual-studio-extensions vspackage

我目前正在开发一个Visual Studio扩展,需要在触发menuCommand后打开一个WPF表单。

我想相对于插入符号位置打开表单,所以我需要获得Caret的像素位置。 我查了This article

但它不起作用。

请帮忙吗?

1 个答案:

答案 0 :(得分:2)

一旦你有了IWpfTextView,就可以view.TextViewLines.GetCaretBounds(view.Caret.Position.BufferPosition)进行“文本坐标系”中的位置。通过view.ViewportTop / view.ViewportLeft进行调整应该为您提供相对于作为视图的UIElement的位置。从那里,view.VisualElement.PointToScreen可能会将它带到屏幕坐标。

我假设你已经发现你不想直接将这个UI嵌入到编辑器中?因为那(轻度)更容易。