2015-12-08 90 views
0

我們正在開發一個Visual Studio插件,它應該允許用戶跳轉到新創建函數中的代碼位置(當然使用CodeAnalysis)。其實我們只能使用VisualStudioWorkspace.TryGoToDefinition跳轉到符號。底層接口IDocumentNavigationService會很有幫助,因爲它提供的方法類似於TryNavigateToSpanTryNavigateToPosition,但接口是內部接口,所以我們無法獲得導航服務的實例。在自己的擴展中使用IDocumentNavigationService

是否有其他服務可以幫助我們?或者是否有人知道是否有計劃將公共接口設爲IDocumentNavigationService

回答

1

如果您想讓我們公開,只需在GitHub上提交錯誤。與此同時,從this answer進行適配也許是正確的做法,但在您的情況下,您可以通過從軟件包執行(DTE2)GetService(typeof(SDTE))來獲得DTE2接口。還有其他方法here

+0

當然,這是一種方式。此刻我選擇了另一種方式:我創建了一個自定義WorkspaceService,它使用反射與IDocumentNavigationService進行交互。 – Chris

+0

您是否至少在GitHub上發現了一個錯誤? –

+0

是的,我在[GitHub](https://github.com/dotnet/roslyn/issues/7328)中添加了一個問題。我沒有設置任何標籤/標籤,因爲我不知道如果我應該這樣做,或者如果你們中的一個人會這樣做。 – Chris

相關問題