/// <summary> /// Creates editor column guidelines /// </summary> /// <param name="view">The <see cref="IWpfTextView"/> upon which the adornment will be drawn</param> /// <param name="settings">The guideline settings.</param> /// <param name="guidelineBrush">The guideline brush.</param> /// <param name="codingConventionsManager">The coding conventions manager for handling .editorconfig settings.</param> /// <param name="telemetry">Telemetry interface.</param> public ColumnGuide(IWpfTextView view, ITextEditorGuidesSettings settings, GuidelineBrush guidelineBrush, ICodingConventionsManager codingConventionsManager, ITelemetry telemetry) { _view = view; _telemetry = telemetry; _guidelineBrush = guidelineBrush; _guidelineBrush.BrushChanged += GuidelineBrushChanged; _strokeParameters = StrokeParameters.FromBrush(_guidelineBrush.Brush); if (codingConventionsManager != null && view.TryGetTextDocument(out var textDocument)) { _codingConventionsCancellationTokenSource = new CancellationTokenSource(); var fireAndForgetTask = LoadGuidelinesFromEditorConfigAsync(codingConventionsManager, textDocument.FilePath); } InitializeGuidelines(settings.GuideLinePositionsInChars); _view.LayoutChanged += OnViewLayoutChanged; _settingsChanged = settings as INotifyPropertyChanged; if (_settingsChanged != null) { _settingsChanged.PropertyChanged += SettingsChanged; } _view.Closed += ViewClosed; }
internal static void AddBrushColorAndGuidelinePositionsToTelemetry(EventTelemetry eventTelemetry, Brush brush, IEnumerable <int> positions) => AddStrokeParametersAndPositionsToTelemetry(eventTelemetry, StrokeParameters.FromBrush(brush), positions);