本文整理汇总了C#中ITextSnapshot.GetFullSpan方法的典型用法代码示例。如果您正苦于以下问题:C# ITextSnapshot.GetFullSpan方法的具体用法?C# ITextSnapshot.GetFullSpan怎么用?C# ITextSnapshot.GetFullSpan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITextSnapshot
的用法示例。
在下文中一共展示了ITextSnapshot.GetFullSpan方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateSnapshot
private static ITextSnapshot CreateSnapshot(ITextSnapshot editorSnapshot)
{
var factory = TextBufferFactory;
// We might not have a factory if there is no primary workspace (for example, under the unit test harness,
// or in CodeSense where they are just using the parsers by themselves). In that case, just use the editor
// snapshot as-is.
//
// Creating a buffer off a given snapshot should be cheap, so it should be okay to create a dummy buffer here
// just to host the snapshot we want.
var roslynSnapshot = factory != null
? factory.Clone(editorSnapshot.GetFullSpan()).CurrentSnapshot
: editorSnapshot;
// put reverse entry that won't hold onto anything
var weakEditorSnapshot = new WeakReference<ITextSnapshot>(editorSnapshot);
s_roslynToEditorSnapshotMap.GetValue(roslynSnapshot, _ => weakEditorSnapshot);
return roslynSnapshot;
}
示例2: EnqueueParseSnapshotWorkerAsync
private async Task EnqueueParseSnapshotWorkerAsync(Document document, ITextSnapshot snapshot, CancellationToken cancellationToken)
{
// preemptively parse file in background so that when we are called from tagger from UI thread, we have tree ready.
var syntaxTree = await document.GetSyntaxTreeAsync(cancellationToken).ConfigureAwait(false);
lock (_gate)
{
_lastParsedSnapshot = snapshot;
_lastParsedDocument = document;
}
_reportChangeCancellationSource = new CancellationTokenSource();
_notificationService.RegisterNotification(() =>
{
_workQueue.AssertIsForeground();
ReportChangedSpan(snapshot.GetFullSpan());
},
ReportChangeDelayInMilliseconds,
_listener.BeginAsyncOperation("ReportEntireFileChanged"),
_reportChangeCancellationSource.Token);
}