Compartilhar via


VsSymbolicNavigationManager Interface

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.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.9.0 (in Microsoft.VisualStudio.Shell.Interop.9.0.dll)

Syntax

'Declaration
<GuidAttribute("C4D4F197-941E-43B1-9D42-BE527F9D5D00")> _
Public Interface VsSymbolicNavigationManager _
    Inherits IVsSymbolicNavigationManager
[GuidAttribute("C4D4F197-941E-43B1-9D42-BE527F9D5D00")]
public interface VsSymbolicNavigationManager : IVsSymbolicNavigationManager
[GuidAttribute(L"C4D4F197-941E-43B1-9D42-BE527F9D5D00")]
public interface class VsSymbolicNavigationManager : IVsSymbolicNavigationManager
[<GuidAttribute("C4D4F197-941E-43B1-9D42-BE527F9D5D00")>]
type VsSymbolicNavigationManager =  
    interface 
        interface IVsSymbolicNavigationManager 
    end
public interface VsSymbolicNavigationManager extends IVsSymbolicNavigationManager

The VsSymbolicNavigationManager type exposes the following members.

Methods

  Name Description
Public method OnBeforeNavigateToSymbol Determines if there is an alternative source file to navigate to for a code symbol (a Goto Definition operation). (Inherited from IVsSymbolicNavigationManager.)
Public method QueryNavigateToSymbol Retrieves the alternative navigation target for the symbol if there is one (this method does not do the actual navigation). (Inherited from IVsSymbolicNavigationManager.)
Public method RegisterSymbolicNavigationNotify Registers the symbolic navigation notify implementation in the project. (Inherited from IVsSymbolicNavigationManager.)
Public method UnregisterSymbolicNavigationNotify Unregisters the symbolic navigation notify implementation. (Inherited from IVsSymbolicNavigationManager.)

Top

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.

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace