3
我正在使用Visual Studio Extensibilty API将插件写入Sql Server Management Studio。我已经成功地在文本表面上叠加了一个控件(我试图模仿CodeRush/Refactor动作列表,类似于intellisense组合),但是我只能根据以下属性找到它的坐标空间:如何将控件覆盖到Visual Studio代码表面
get
{
var point = TextDocument.Selection.TopPoint;
return new Cursor(point.DisplayColumn, point.Line);
}
此代码的确允许我将cols/rows转换为像素,但是我无法找到一种方式来在文本编辑器垂直或水平滚动时抵消cols/rows。这会导致列表框在可见屏幕空间下消失。
我在寻找的是从当前列/行对获取屏幕坐标的方法,这样我就可以将列表框放在光标旁边,而不管滚动的位置。
我不知道哪些API可用,但你确定这是不可能实现'IVsTextMarker'和'IVsTextMarkerClient'来创建与一段代码相关的菜单(这是重构帮助器的工作方式)? – 2009-10-24 22:09:32
@ 280Z28 - 这些界面看起来很有希望。我想完全跳过DTE,这看起来好像可能有效。可能是因为我正在为SSMS做这件事。谢谢 – 2009-10-24 22:11:41
您是否想过使用DXCore(coderush背后的库)。它免费从Dev Express – 2009-10-24 22:28:00