IVsSymbolicNavigationManager Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Manages the list of IVsSymbolicNavigationNotify handlers that are registered on a project-scoped basis. Obtain an IVsSymbolicNavigationManager
interface by calling QueryService
for the SVsSymbolicNavigationManager service.
public interface class IVsSymbolicNavigationManager
public interface class IVsSymbolicNavigationManager
__interface IVsSymbolicNavigationManager
[System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsSymbolicNavigationManager
[System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsSymbolicNavigationManager
[<System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsSymbolicNavigationManager = interface
[<System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsSymbolicNavigationManager = interface
Public Interface IVsSymbolicNavigationManager
- Derived
- Attributes
Remarks
The language service of a code language should call OnBeforeNavigateToSymbol on this service before performing a "Goto Definition" type of navigation to a symbol in code. This allows an advanced code generator system to overtake the normal navigation, and instead causes the navigation to the definition of the symbol in the source document that generated the code definition (for example, an XAML file).
IVsSymbolicNavigationManager
will loop through all of the registered objects and call OnBeforeNavigateToSymbol and QueryNavigateToSymbol until the first one returns that it handled the symbol. The order of these calls is undefined. It is expected that implementations of these methods will be able to quickly respond false
for files they do not care about based on checking the naming pattern (file extension) of the input code file. Further quick checks should be able to be made if the input IVsHierarchy is supported.
Methods
OnBeforeNavigateToSymbol(IVsHierarchy, UInt32, String, Int32) |
Determines if there is an alternative source file to navigate to for a code symbol (a Goto Definition operation). |
QueryNavigateToSymbol(IVsHierarchy, UInt32, String, IVsHierarchy, UInt32, TextSpan[], Int32) |
Retrieves the alternative navigation target for the symbol if there is one (this method does not do the actual navigation). |
RegisterSymbolicNavigationNotify(IVsSymbolicNavigationNotify, UInt32) |
Registers the symbolic navigation notify implementation in the project. |
UnregisterSymbolicNavigationNotify(UInt32) |
Unregisters the symbolic navigation notify implementation. |