本文整理汇总了C#中ITextView.SetSelection方法的典型用法代码示例。如果您正苦于以下问题:C# ITextView.SetSelection方法的具体用法?C# ITextView.SetSelection怎么用?C# ITextView.SetSelection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ITextView
的用法示例。
在下文中一共展示了ITextView.SetSelection方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CommentOrUncommentSelection
private static void CommentOrUncommentSelection(
ITextView textView,
IEnumerable<TextChange> expectedChanges,
IEnumerable<Span> expectedSelectedSpans,
bool supportBlockComments,
CommentUncommentSelectionCommandHandler.Operation operation)
{
var textUndoHistoryRegistry = TestExportProvider.ExportProviderWithCSharpAndVisualBasic.GetExportedValue<ITextUndoHistoryRegistry>();
var editorOperationsFactory = TestExportProvider.ExportProviderWithCSharpAndVisualBasic.GetExportedValue<IEditorOperationsFactoryService>();
var commandHandler = new CommentUncommentSelectionCommandHandler(TestWaitIndicator.Default, textUndoHistoryRegistry, editorOperationsFactory);
var service = new MockCommentUncommentService(supportBlockComments);
var trackingSpans = new List<ITrackingSpan>();
var textChanges = new List<TextChange>();
commandHandler.CollectEdits(service,
textView.Selection.GetSnapshotSpansOnBuffer(textView.TextBuffer), textChanges, trackingSpans, operation);
AssertEx.SetEqual(expectedChanges, textChanges);
// Actually apply the edit to let the tracking spans adjust.
using (var edit = textView.TextBuffer.CreateEdit())
{
textChanges.Do(tc => edit.Replace(tc.Span.ToSpan(), tc.NewText));
edit.Apply();
}
if (trackingSpans.Any())
{
textView.SetSelection(trackingSpans.First().GetSpan(textView.TextSnapshot));
}
if (expectedSelectedSpans != null)
{
AssertEx.Equal(expectedSelectedSpans, textView.Selection.SelectedSpans.Select(snapshotSpan => snapshotSpan.Span));
}
}