Мы разрабатываем приложение Visual Studio Addin, которое должно позволить пользователям перейти к позициям кода в новой созданной функции (конечно, используя CodeAnalysis). На самом деле мы можем перейти только к символам, используя VisualStudioWorkspace.TryGoToDefinition
. Основополагающий интерфейс IDocumentNavigationService
будет очень полезен, поскольку он предоставляет такие методы, как TryNavigateToSpan
или TryNavigateToPosition
, но интерфейс является внутренним и поэтому мы не можем получить экземпляр навигационной службы.Использование IDocumentNavigationService в собственном расширении
Есть ли какая-то другая услуга, которая нам поможет? Или кто-нибудь знает, есть ли планы сделать общий интерфейс IDocumentNavigationService
?
Да, конечно, это один из способов. В настоящий момент я выбираю другой способ: я создал собственный WorkspaceService, который взаимодействует с IDocumentNavigationService, используя отражение. – Chris
У вас есть хотя бы ошибка на GitHub? –
Да Я добавил проблему в [GitHub] (https://github.com/dotnet/roslyn/issues/7328). Я не устанавливал метки/теги, потому что не знал, если я это сделаю или если кто-то из вас сделает это. – Chris