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