示例#1
0
 public AnalysisIssueVisualization(IReadOnlyList <IAnalysisIssueFlowVisualization> flows, IAnalysisIssueBase issue, SnapshotSpan?span)
 {
     Flows           = flows;
     Issue           = issue;
     CurrentFilePath = issue.FilePath;
     Span            = span;
 }
        public object Create(IAnalysisIssueBase analysisIssueBase)
        {
            var hyperLink = new Hyperlink
            {
                Inlines          = { analysisIssueBase.RuleKey },
                Foreground       = GetVsThemedColor(EnvironmentColors.ControlLinkTextColorKey),
                TextDecorations  = null,
                Command          = navigateToRuleDescriptionCommand,
                CommandParameter = analysisIssueBase.RuleKey
            };

            var content = new TextBlock
            {
                Inlines =
                {
                    hyperLink,
                    ": ",
                    analysisIssueBase.Message
                },
                Foreground = GetVsThemedColor(EnvironmentColors.SystemCaptionTextBrushKey)
            };


            return(content);
        }
示例#3
0
        public object Create(IAnalysisIssueBase analysisIssueBase)
        {
            var ruleUrl = ruleHelpLinkProvider.GetHelpLink(analysisIssueBase.RuleKey);

            var hyperLink = new Hyperlink
            {
                Inlines         = { analysisIssueBase.RuleKey },
                Foreground      = GetVsThemedColor(EnvironmentColors.ControlLinkTextColorKey),
                TextDecorations = null,
                Command         = new DelegateCommand(o => browserService.Navigate(ruleUrl))
            };

            var content = new TextBlock
            {
                Inlines =
                {
                    hyperLink,
                    ": ",
                    analysisIssueBase.Message
                },
                Foreground = GetVsThemedColor(EnvironmentColors.SystemCaptionTextBrushKey)
            };


            return(content);
        }
        private IAnalysisIssueVisualization CreateIssue(
            SnapshotSpan?span        = null,
            string filePath          = null,
            IAnalysisIssueBase issue = null,
            params IAnalysisIssueFlowVisualization[] flows)
        {
            var issueViz = new Mock <IAnalysisIssueVisualization>();

            issueViz.Setup(x => x.Issue).Returns(issue);
            issueViz.Setup(x => x.CurrentFilePath).Returns(filePath);
            issueViz.Setup(x => x.Span).Returns(span);
            issueViz.Setup(x => x.Flows).Returns(flows);

            return(issueViz.Object);
        }
        public IAnalysisIssueVisualization Convert(IAnalysisIssueBase issue, ITextSnapshot textSnapshot = null)
        {
            var issueSpan = textSnapshot == null
                ? (SnapshotSpan?)null
                : issueSpanCalculator.CalculateSpan(issue, textSnapshot);

            var flows = Convert(issue.Flows);

            var issueVisualization = new AnalysisIssueVisualization(flows, issue, issueSpan);

            if (textSnapshot != null)
            {
                CalculateSpanForSecondaryLocationsInSameFile(issueVisualization, textSnapshot);
            }

            return(issueVisualization);
        }