internal SyntaxVisualizerContainer(SyntaxVisualizerToolWindow parent) { InitializeComponent(); this.parent = parent; InitializeRunningDocumentTable(); var shellService = GetService <IVsShell, SVsShell>(GlobalServiceProvider); if (shellService != null) { // Only enable this feature if the Visual Studio package for DGML is installed. #pragma warning disable VSTHRD010 // Invoke single-threaded types on Main thread shellService.IsPackageInstalled(GuidList.GuidProgressionPkg, out var canDisplayDirectedSyntaxGraph); #pragma warning restore VSTHRD010 // Invoke single-threaded types on Main thread if (Convert.ToBoolean(canDisplayDirectedSyntaxGraph)) { syntaxVisualizer.SyntaxNodeDirectedGraphRequested += DisplaySyntaxNodeDgml; syntaxVisualizer.SyntaxTokenDirectedGraphRequested += DisplaySyntaxTokenDgml; syntaxVisualizer.SyntaxTriviaDirectedGraphRequested += DisplaySyntaxTriviaDgml; } } UpdateThemedColors(); syntaxVisualizer.SyntaxNodeNavigationToSourceRequested += node => NavigateToSource(node.Span); syntaxVisualizer.SyntaxTokenNavigationToSourceRequested += token => NavigateToSource(token.Span); syntaxVisualizer.SyntaxTriviaNavigationToSourceRequested += trivia => NavigateToSource(trivia.Span); }
internal SyntaxVisualizerContainer(SyntaxVisualizerToolWindow parent) { InitializeComponent(); this.parent = parent; InitializeRunningDocumentTable(); var shellService = GetService <IVsShell, SVsShell>(GlobalServiceProvider); if (shellService != null) { int canDisplayDirectedSyntaxGraph; // Only enable this feature if the Visual Studio package for DGML is installed. shellService.IsPackageInstalled(GuidList.GuidProgressionPkg, out canDisplayDirectedSyntaxGraph); if (Convert.ToBoolean(canDisplayDirectedSyntaxGraph)) { syntaxVisualizer.SyntaxNodeDirectedGraphRequested += DisplaySyntaxNodeDgml; syntaxVisualizer.SyntaxTokenDirectedGraphRequested += DisplaySyntaxTokenDgml; syntaxVisualizer.SyntaxTriviaDirectedGraphRequested += DisplaySyntaxTriviaDgml; } } syntaxVisualizer.SyntaxNodeNavigationToSourceRequested += node => NavigateToSource(node.Span); syntaxVisualizer.SyntaxTokenNavigationToSourceRequested += token => NavigateToSource(token.Span); syntaxVisualizer.SyntaxTriviaNavigationToSourceRequested += trivia => NavigateToSource(trivia.Span); }