예제 #1
0
        public static void Navigate(MSBuildNavigationResult result, MSBuildRootDocument doc)
        {
            try {
                switch (result.Kind)
                {
                case MSBuildReferenceKind.None:
                    NavigatePaths(result.Paths);
                    break;

                case MSBuildReferenceKind.Target:
                    FindReferences(() => new MSBuildTargetDefinitionCollector(result.Name), doc);
                    break;
                }
            } catch (Exception ex) {
                LoggingService.LogError("MSBuild navigation failed", ex);
            }
        }
예제 #2
0
        public static void Navigate(MSBuildNavigationResult result, MSBuildRootDocument doc)
        {
            try {
                switch (result.Kind)
                {
                case MSBuildReferenceKind.None:
                    NavigatePaths(result.Paths);
                    break;

                case MSBuildReferenceKind.Target:
                    FindReferences(() => new MSBuildTargetDefinitionCollector(result.Name), doc);
                    break;

                case MSBuildReferenceKind.Task:
                    IdeApp.Workbench.OpenDocument(result.DestFile, null, result.DestLocation.Line, result.DestLocation.Column);
                    break;
                }
            } catch (Exception ex) {
                LoggingService.LogError("MSBuild navigation failed", ex);
            }
        }
        public bool Navigate(MSBuildNavigationResult result, ITextBuffer buffer)
        {
            if (result.Kind == MSBuildReferenceKind.Target)
            {
                FindTargetDefinitions(result.Name, buffer);
                return(true);
            }

            if (result.Paths != null)
            {
                if (result.Paths.Length == 1)
                {
                    EditorHost.OpenFile(result.Paths[0], 0);
                    return(true);
                }
                if (result.Paths.Length > 1)
                {
                    ShowMultipleFiles(result.Paths);
                    return(true);
                }
            }

            if (result.DestFile != null)
            {
                EditorHost.OpenFile(result.DestFile, result.DestOffset);
                return(true);
            }

            if (result.Kind == MSBuildReferenceKind.NuGetID)
            {
                OpenNuGetUrl(result.Name, EditorHost);
                return(true);
            }

            return(false);
        }
 public MSBuildNavigableSymbol(MSBuildNavigationService service, MSBuildNavigationResult result, ITextSnapshot snapshot)
 {
     this.service = service;
     this.result  = result;
     SymbolSpan   = new SnapshotSpan(snapshot, result.Offset, result.Length);
 }