Partager via


VsSymbolicNavigationManager Interface

Definition

Represents a global service that manages the list of IVsSymbolicNavigationNotify handlers that are registered on a project-scoped basis. This interface is available via QueryService(Type, Object).

public interface class VsSymbolicNavigationManager : Microsoft::VisualStudio::Shell::Interop::IVsSymbolicNavigationManager
public interface class VsSymbolicNavigationManager : Microsoft::VisualStudio::Shell::Interop::IVsSymbolicNavigationManager
__interface VsSymbolicNavigationManager : Microsoft::VisualStudio::Shell::Interop::IVsSymbolicNavigationManager
[System.Runtime.InteropServices.CoClass(typeof(Microsoft.VisualStudio.Shell.Interop.VsSymbolicNavigationManagerClass))]
[System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")]
public interface VsSymbolicNavigationManager : Microsoft.VisualStudio.Shell.Interop.IVsSymbolicNavigationManager
[System.Runtime.InteropServices.CoClass(typeof(Microsoft.VisualStudio.Shell.Interop.VsSymbolicNavigationManagerClass))]
[System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")]
[System.Runtime.InteropServices.ComVisible(false)]
public interface VsSymbolicNavigationManager : Microsoft.VisualStudio.Shell.Interop.IVsSymbolicNavigationManager
[<System.Runtime.InteropServices.CoClass(typeof(Microsoft.VisualStudio.Shell.Interop.VsSymbolicNavigationManagerClass))>]
[<System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")>]
type VsSymbolicNavigationManager = interface
    interface IVsSymbolicNavigationManager
[<System.Runtime.InteropServices.CoClass(typeof(Microsoft.VisualStudio.Shell.Interop.VsSymbolicNavigationManagerClass))>]
[<System.Runtime.InteropServices.Guid("C4D4F197-941E-43B1-9D42-BE527F9D5D00")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type VsSymbolicNavigationManager = interface
    interface IVsSymbolicNavigationManager
Public Interface VsSymbolicNavigationManager
Implements IVsSymbolicNavigationManager
Derived
Attributes
Implements

Remarks

The language service of a code language should call OnBeforeNavigateToSymbol on this service before performing a “go to definition” type of navigation to a symbol in code. This allows an advanced code generator system to overtake normal navigation and cause navigation to the definition of a symbol in the source document that generated the code definition.

This service loops through all of the registered objects, calling its symbol querying methods, until the first one handles the symbol. The order of the calls is undefined. Implementations of these methods should quickly respond false for any irrelevant files by checking the file extension of the input code file. Other quick checks should 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).

(Inherited from IVsSymbolicNavigationManager)
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).

(Inherited from IVsSymbolicNavigationManager)
RegisterSymbolicNavigationNotify(IVsSymbolicNavigationNotify, UInt32)

Registers the symbolic navigation notify implementation in the project.

(Inherited from IVsSymbolicNavigationManager)
UnregisterSymbolicNavigationNotify(UInt32)

Unregisters the symbolic navigation notify implementation.

(Inherited from IVsSymbolicNavigationManager)

Applies to