/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/EditorFeatures/Core/QuickInfo/IContentControlService.cs
50 строк
2 KB
Cyrus Najmabadi
Move files
25 апр 2025, 01:10
25 апр 2025, 01:10
46f9987
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. #nullable disable using System; using System.Windows; using Microsoft.CodeAnalysis.Editor.Shared.Utilities; using Microsoft.CodeAnalysis.Host; using Microsoft.VisualStudio.Text; namespace Microsoft.CodeAnalysis.Editor.QuickInfo; internal interface IContentControlService : IWorkspaceService { /// <summary> /// return <see cref="ViewHostingControl"/> from the given <paramref name="textBuffer"/>'s <paramref name="contentSpan"/> /// </summary> ViewHostingControl CreateViewHostingControl(ITextBuffer textBuffer, Span contentSpan); /// <summary> /// get <see cref="DisposableToolTip"/> /> from the given <paramref name="textBuffer"/>'s <paramref name="contentSpan"/> /// based on given <paramref name="baseDocument"/> /// /// tooltip will show embedded textview which shows code from the content span of the text buffer with the context of the /// base document /// </summary> /// <param name="baseDocument">document to be used as a context for the code</param> /// <param name="textBuffer">buffer to show in the tooltip text view</param> /// <param name="contentSpan">actual span to show in the tooptip</param> /// <param name="backgroundResourceKey">background of the tooltip control</param> /// <returns>ToolTip control with dispose method</returns> DisposableToolTip CreateDisposableToolTip(Document baseDocument, ITextBuffer textBuffer, Span contentSpan, object backgroundResourceKey); /// <summary> /// get <see cref="DisposableToolTip"/> /> from the given <paramref name="textBuffer"/> /// /// tooltip will show embedded textview with whole content from the buffer. if the buffer has associated tags /// in its property bag, it will be picked up by taggers associated with the tooltip /// </summary> DisposableToolTip CreateDisposableToolTip(ITextBuffer textBuffer, object backgroundResourceKey); /// <summary> /// attach <see cref="DisposableToolTip"/> to the given <paramref name="element"/> /// /// this will lazily create the tooltip and dispose it properly when it goes away /// </summary> void AttachToolTipToControl(FrameworkElement element, Func<DisposableToolTip> createToolTip); }